Django框架——进阶之模板系统

---恢复内容开始---

1. 常用语法

需要记住两组特殊符号:{{  }}  和 {%  %}

在运用到变量的时候使用{{  }},如果是跟逻辑相关的话就使用{%  %}。

在Django模板(template)中,会使用到的{{  }}  和 {%  %}写法,在专业中就称之为Django的 “ 模板语言 ” 

2. 变量

在Django模板中,使用的变量的时候,就是用这个格式:{{ 变量名 }}。

在template模板引擎遇到一个变量的时候,它自动根据python后台中的views模块提供的相关数据,计算出这个变量的结果,并用这个结果替换掉它自己。

变量命名:命名规则包含(字符、数字、下划线)的组合。

注意:变量的名称一定不能含有空格、标点符号。

点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以这样的查询优先级:

第一:字典查询(Dictionary lookup)

第二:属性或方法查询(Attribute or method lookup)

第三:数字索引查询(Numeric index lookup)

注意事项:

  1. 如果计算结果的值是可调用的,它将被无参数的调用。 调用的结果将成为模版的值。
  2. 如果使用的变量不存在, 模版系统将插入 string_if_invalid 选项的值, 它被默认设置为'' (空字符串) 。

变量的使用写法:

{# 取list列表中的第一个参数 #}
{{ list.0 }}

{# 取d字典中key的值 #}
{{ d.name }}

{# 取对象的name属性 #}
{{ person_list.0.name }} {# (大白话:人对象的列表  第一个人对象 的 名字)," . "点跟"的”有些类似#}
{# .操作只能调用不带参数的方法 #} {{ person_list.0.eat }}

注意:如果是调用方法的话,后面也不能带括号()。

3. Filters(过滤器)

在Django的模板语言中,通过使用过滤器来改变变量的显示(结果)。

过滤器的语法:{{ name|filter_name:参数 }}。注意:使用管道符 ” | “ name就是变量的结果,其实就是变量名。

例如:在模板中的一个变量使用如下{{ name|lower}}会将name变量通过length过滤(操作)之后再显示它的值。lower在这里的作用是将文本全都变成小写。

注意事项:

  1. 过滤器支持“链式”操作。即一个过滤器的输出作为另一个过滤器的输入 。
  2. 过滤器可以接受参数。例如:{{ sss|truncatewords:30 }},这将显示sss的前30个词。
  3. 过滤器参数包含空格的话,必须用引号包裹起来。比如使用逗号和空格去连接一个列表中的元素,如:{{ list|join:', ' }}
  4. '|'左右没有空格没有空格没有空格

 3.1 default

 例如:{{ name|default:"not found" }}

如果变量name的值是false或者为空或者不存在,该处自动被默认值not found字符串代替,或者说此处的变量名的值自动为"not found" 。

3.2 length

3.3 filesizeformat

3.4 slice

3.5 date

3.6 safe

3.7 truncatechars

3.8 truncatewords

3.9 cut

3.10 join

3.11 timesince

3.12 timeuntil

3.13 自定义filter

3.14

3.15

3.16

 4. 语法

4.1 for循环

4.2 if判断

4.3 with语句

4.4 csrf_token

4.5 注释

母版

继承母版

快(block)

组件

静态文件相关

tag

simple_tag

inclusion_tag

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/mashangsir/p/11432871.html
今日推荐