码迷,mamicode.com
首页 > 其他好文 > 详细

Django 框架+模板

时间:2019-01-22 01:19:19      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:耦合性   invalid   赋值   counter   string   first   切片   block   优先   

MVC 框架 -- Model View Controller  

软件工程中的一种软件架构模式  

模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

MTV 框架  -- Model(模型)、Template(模板)和View(视图),也就是MTV框架。

  Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

Django之模板

Django模板记两种特殊符号: {{  }}和 {% %} 

{{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作。

{{  变量名 }}  变量名由字母数字下划线组成, 点( . )在模板语言中有特殊的含义,用来获取对象的相应属性值.

. 列表 索引
. 字典 键
模板系统遇见一个点时:会按照下面顺序去查询:(优先级)
1 在字典中 2属性或方法 3数字索引
filters--过滤器  --修改变量的显示结果
{{ value|filter_name:参数 }}  参数最多一个
default 默认
string_if_invalid:找不到,  无效字符串
filesizeformat --文件大小个格式化
add + 
length 返回value的长度
slice  切片 步长 方向
{{ str|truncatechars:9}}  <!-- 截断 -->
date 格式化 import datetime 
时间{{ now|date:Y-m-d H:i:s}}  --规定
{{ now }} -- settings --DATETIME_FORMAT = Y-m-d H:i:s  USE_L10N = False
safe (安全) --不做转义   xss跨站脚本攻击  Django默认做转义
{{ a_html|safe }}   {{ js|safe }}
难-- {parentloop: {}, counter0: 0, counter: 1, revcounter: 2, revcounter0: 1, first: True, last: False}  --倒叙reverse
for ... empty  //
不支持 连续判断 10>5>1
js//10>5>1  --> false
10>5==1 --> true
with -- 变量重新赋值   
csrf_token   ---/CSRF(Cross-site request forgery)跨站请求伪造
{% csrf_token %}  --> form表单中 
---------------------------------------
母版--减少代码  公用的部分放进去 
分两步:
1  定义母版 base 普通页面html 包含多个页面的公共部分,在模板中定义block块,占位  让子页面进行替换  .
2 子页面 继承母版 {%  extends 母版文件名 %}  
   重写 block
注意:
{%  extends 母版文件名 %}  -- 写在第一行   母版文件名加引号
模板中写多个block 预留css js 样式位置
**组件**    写死的html     {% include  组件.html   %}

 

Django 框架+模板

标签:耦合性   invalid   赋值   counter   string   first   切片   block   优先   

原文地址:https://www.cnblogs.com/zhangchen-sx/p/10301653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!