Django:模板系统(template)总结

模板系统(template)

1.模板系统: 指html页面。

2.常用符号
(1){{变量名}}:在模板中解析变量
(2){% %} 在模板中进行逻辑相关操作
注释 {# … #},单行注释。
(3).变量
在Django的模板系统中变量使用的语法:{{ 变量名 }}。
当模版引擎遇到变量,就会用值替换掉变量。
变量的命名可以是**字母数字以及下划线 ("_")**的组合。
变量名称中不能有空格或标点符号。

3.视图函数替换页面中的数据
(1)使用render中的第三个参数,数据类型是字典。Key和变量名相同,值就是要显示到页面中的内容。
(2)locals() 内置函数: 获取全部的局部变量及其对应的值,然后封装成一个字典。因此可以在render的第三个参数直接使用locals()。

4.点(‘.’)的特殊含义
(1)如果传递的是一个字典类型的数据,使用 变量名.key的形式获取对应的值。
(2)如果传递的是一个对象类型的数据,使用 变量名.属性名(无参数并且有返回值的方法)。
(3)如果传递的是一个列表类型的数据,使用 **变量名.索引(从0开始)**的形式获取列表中的元素。
查询顺序:(1)(2)(3)
如果使用的变量不存在, 它被默认设置为(空字符串) 。

5.过滤器(filter)
注:过滤器是函数
(1)作用: 可以改变内容的显示、或者查看一些信息。
(2)使用格式 {{变量名|过滤器:参数}}, 注意管道符“|”左右是没有空格的。
(3)常用的过滤器

①lower:将文本全都变成小写
例如{{ name|lower }}

②length:返回值的长度,作用于字符串和列表;
例如:{{ value|length }}返回value的长度,如 value=[‘a’, ‘b’, ‘c’, ‘d’]的话,就显示4.

③slice:切片
格式:{{value|slice:“2:-1”}}

④safe:不转义
过滤器“|safe” 告诉Django这段代码是安全的不必转义。
格式:{{ value|safe}}

⑤cut:移除相同的字符串
格式:{{ value|cut:’ ’ }},
如果value为’i love you’,那么将输出’iloveyou’.

⑥join:使用拼接符连接列表
格式: {{value|join:”_”}} hello–>h e l l o

⑦default:如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。例如:{{ value|default:“哈哈哈”}}

**⑧date:**日期格式化过滤器
格式:{{ value|date:“Y-m-d H:i:s”}}

6.标签(tags)
(1)格式:{%标签%}
(2)for标签:和 python中的for循环,执行原理相同。
①格式:
{%for 临时变量 in 变量%}

{%endfor%}
②forloop.counter 表示 索引从 1开始。
③forloop.counter0 表示 索引从 0 开始。
(3)for empty 标签:
如果变量名不存在或者内容为空的时候显示{%empty%}中的内容
①格式:
{%for 临时变量 in 变量%}

{%empty%}

{%endfor%}
②执行流程:
如果变量不存在或者为空 则执行 empty中的内容。否则执行for循环体中的内容。
(4)If标签 和python中的if 判断执行流程相同。
注: if 语句支持 and、or、==、<、>、!=、<=,>=,in、not in、is、is not判断。
①格式:
{%if 条件表达式 %}

{%endif%}

(5)If… else 标签
(1)格式:
{%if 条件表达式 %}
。。。
{%else%}
。。。
{%endif%}
(6)If …elif … elif … else
{%if 条件表达式 %}
。。。
{%elif%}
。。。
{%endif%}
(7)load 和static 标签
(1)Load 标签用来加载 static标签。{%load static%}
(2)static 用来加载 静态文件(图片、css、js)
(3)一般情况下将静态文件存放到static目录下(需要手动创建static目录)
(4)在settings.py中让django 加载搜索路径
STATICFILES_DIRS=[os.path.join(BASE_DIR,’static’)]
(5)省略{%load static%} 需要在settings.py中设置
在 TEMPLATES 列表中的 OPTIONS 对应的字典中,设置
‘builtins’ : [‘django.templatetags.static’]。

7.模板继承
**(1)作用:**提高代码的重用率。将公共的代码提取成一个文件
(一般情况下命名为base.html)
(2)语法:
子界面 首先 继承 base.html {%extends ‘base.html’ %}
用{%block 名称(块的唯一标识) %} {%endblock%} 填充内容。

8.组件
(1)每个页面都用到的相同的内容(页面的footer部分),可以提取成一个文件。使用组件的方式进行插入。
(2)语法: {%include ‘组件文件’%}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值