一、模板语言

DTL.(Django Template Language)简称: 模板语言

1、模板变量
格式:{{变量名}}
变量名由数字,字母,下划线组成,不能以下划线开头
. 用于访问变量里面的属性
如:
{{chen.name}}:将chen当成一个对象,把name当成属性或方法,信息取值
如在列表取值:
{{chen.0}}:相当于取值列表chen[0]值

2、模板标签
格式:{%代码段%}
(1)for循环
列表:
{%for i in 列表%}
执行内容
{%endfor%}
倒序:
{%for i in 列表 reversed %}
{%endfor%}

字典:
{% for key,value in my_dict.items %}
{{key}}:{{value}}
{%endor%}

可以通过 {{ forloop.counter }} 判断for循环执行到第几次,初始化值从1开始。

django里面的html模板语言

(2) if 语句

{% if 条件  %}

{% elif 条件 %}

{% else %}

{%endif%}

关系比较操作符:

<  >  >=  <=  ==  !=  (进行比较时,操作符两边必须是空格)

not  and  or

 

 3、模板页面继承导入(extends,block endblock )

(1)先编写需要继承的模板

  django里面的html模板语言

(2)进行继承

  django里面的html模板语言

 

4、 相同小组件的模板应用(include)

  django里面的html模板语言

 

5、自定义函数

在html模板中使用

  第一种:(simple_tag)(可以传多个参数)

  创建:

    (1)在某个app里面创建templatetags目录

    (2)在templatetags中创建任意py文件

    (3)创建一个template对象register

    (4)写函数,并装饰

      django里面的html模板语言

 

    (5)在settings注册app

    (6)在html中的文件顶部load py文件

      {% load test %}

    (7)模板应用

      {% addd 2 9 %}

   第二种:filter(适合最多传两个参数,但是可以放在if后面进行判断,第一种不可以)

    步骤一致,装饰方法不一样:

    django里面的html模板语言

    使用:

      {{ 2|add2:9 }}