博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django(4)-view
阅读量:4341 次
发布时间:2019-06-07

本文共 2025 字,大约阅读时间需要 6 分钟。

mvc = model view controller

MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。

MVC模式解释成"外观"(view)、"机制"(controller)和"功能/数据"(model)这三层结构

 

django MTV模式

 view是拿templates的静态页面,动态添加数据库对应的数据组成一个页面

 

day65 2018-06-15

1. 内容回顾

2. 今日内容
https://www.cnblogs.com/liwenzhou/p/8296964.html
1. Django框架详细介绍
1. 视图 views.py
1. FBV(function base view) 基于函数的视图
抛出一个问题:
函数的装饰器能不能直接用来装饰类中的方法
2. CBV(class base view) FBV(function base view)
3. 上传文件的注意事项:
1. 如果有上传文件,views.py中应该从request.FILES中取上传的文件对象
2. 如果有上传文件,html文件中的form表单一定要加 enctype="multipart/form-data"
file_obj = request.FILES.get("touxiang") # 拿到上传文件对象
file_name = file_obj.name # 拿到文件名
with open(file_name, "wb") as f: # 在本地新建一个同名文件
for line in file_obj.chunks(): # 从上传的文件对象中一点一点读取数据
f.write(line) # 写到新建的文件中
4. JsonResponse
Django封装的一个专门用来返回JSON格式数据的方法
from django.http import JsonResponse
JsonResponse(字典)
JsonResponse(列表,safe=False)
2. 模板语言
1. 目前已经学到的模板语言内容
1. {
{变量}}
2. {% 逻辑操作 %}
1. for循环
{% for i in list %}
{
{ i }}
{% endfor %}
forloop.counter
forloop.counter0
forloop.last
{% empty %}
2. if判断
{% if 条件 %}
条件成立要做的事儿
{% else %}
条件不成立要做的事儿
{% endif %}
3. 逻辑判断
1. in 判断
2. == 判断
1. 模板语言变量相关
1. 字典的key对应的值
{
{ dic.key}}
2. 列表按索引取值
{
{ list.1 }}
3. 对象的属性和方法
{
{ obj.name }}
{
{ obj.dream }} --> 方法不要加括号
2. Filters (对变量做一些额外的操作)
1. 内置的filter
2. 自定义的filter
1. 在app下面新建一个Python package,包名必须叫 templatetags
2. 在上面的包中新建一个python文件,里面定义函数,并且注册到django的模板语言
from django import template
# 生成一个用于注册自定义filter方法的实例
register = template.Library()

@register.filter(name="sb")
def add_sb(value):
return "{} sb".format(value)
3. 使用自定义的filter方法
{% load py文件名 %}
{
{ value|sb }}
3. tags
4. 母版与继承
1. 定义母版 --> 其他很多页面会用到的共用部分 我们可以提取出来放在单独的一个html文件中
2. 在母版中 通过定义不同的 block 等待子页面来替换对应的内容
3. 在子页面中 通过 {% extends 'base.html '%}来继承已经定义好的母版
4. 在子页面中通过 block 来实现自定义页面内容
5. 通常会在母版中定义 子页面专用的 page-css 和 page-js 两个块
5.组件
把功能相对独立的html代码 放在一个单独的文件中 作为组件 供其他页面使用
{% include 'nav.html' %}
3. 端午节作业
1. 把今天上课的内容整理好blog
2. 把班级管理系统用母版和继承的方式改写一下
3. Django版代码行数统计系统
详细需求见群文件截图

 

转载于:https://www.cnblogs.com/shanjinghao/p/9187515.html

你可能感兴趣的文章
旧的起点(开园说明)
查看>>
生产订单“生产线别”带入生产入库单
查看>>
crontab导致磁盘空间满问题的解决
查看>>
java基础 第十一章(多态、抽象类、接口、包装类、String)
查看>>
Hadoop 服务器配置的副本数量 管不了客户端
查看>>
欧建新之死
查看>>
自定义滚动条
查看>>
APP开发手记01(app与web的困惑)
查看>>
笛卡尔遗传规划Cartesian Genetic Programming (CGP)简单理解(1)
查看>>
mysql 日期时间运算函数(转)
查看>>
初识前端作业1
查看>>
ffmpeg格式转换命令
查看>>
万方数据知识平台 TFHpple +Xpath解析
查看>>
Hive实现oracle的Minus函数
查看>>
秒杀多线程第四篇 一个经典的多线程同步问题
查看>>
RocketMQ配置
查看>>
蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
查看>>
端口号大全
查看>>
机器学习基石笔记2——在何时可以使用机器学习(2)
查看>>
POJ 3740 Easy Finding (DLX模板)
查看>>