django模板的变量,标签,过滤器和自定义过滤器,注释
模板的作用是计算并输出:
{{ 变量}}
当模版引擎遇到点如book.title,会按照下列顺序解析:
- 1.字典book['title']
- 2.先属性后方法,将book当作对象,查找属性title,如果没有再查找方法title()
- 3.如果是格式为book.0则解析为列表book[0]
{% 代码段 %}
{% for item in list%} 循环的逻辑 {{forloop.counter}}表示当前是第几次循环 {% empty %} 列表为空或不存在时执行此逻辑 {% endfor %}
{% if .. %} 逻辑1 {% elif .. %} 逻辑2 {% else %} {% endif %}
比较运算符 == != < > <= >=
注意:运算符左右两侧不能紧挨变量或常量,必须有空格。
布尔运算符 and or not
过滤器
变量|过滤器:参数
自定义过滤器
在应用下创建名为templatetags的文件,里面必须有__init__.py 在templatetags下创建filter.py 文件 导入Library类 from django.template import Library #创建一个Library类对象 register=Library() #使用装饰器进行注册 @register.filter #定义求余函数mod,将value对2求余 def mod(value): return value%2 == 0 在模板中必须引入 {% load filters %}
注释: {#....#} 单行注释
{% comment %}
多行注释
{% endcomment %}