Django模板语言 - downtiser/python-one GitHub Wiki

Django模板语言用于在模板中动态的填入数据

变量替换:

  • {{ varible }},在视图函数中用render返回模板之前,会根据其第三个参数:{'varible', 'noob'}将模板中的对应变量替换为指定内容

for循环:末尾要加上结束符

{% for i in item_list %}
 ........
{% endfor %}
  • 在for循环中包含一个参数{{ forloop }}, forloop.counter会自动计数,从1开始, forloop.counter0从0开始计数,forloop.revcounter倒序计数, forloop.revcounter0倒序计数,以0结尾, forloop.last判断是否为最后一个循环,是的话返回True, forloop.first判断是否为第一个循环,forloop.parentloop获取到该循环的上一级循环(用于嵌套循环),也拥有一样的属性,forloop.parentloop.counter...

模板语言中循环字典:

  • {% for key in dict.keys %}循环键
  • {% for key in dict.values %}循环值
  • {% for key,value in dict.items %}循环键值对

索引:模板语言中提取列表或字典的值不能直接通过[索引]来提取,而要通过.

  • 提取列表中的元素:{{ list.0 }}提取出第一个元素,list.n提取出第n+1个元素
  • 提取字典中的value:{{ dict.key1 }}这样提取出key1对应的value

if条件判断:支持elif,注意结尾要加{% endif %},另外做条件判断时比较符前后要加空格

{% if name == 'downtiser' %}
    <a>1</a>
    {% elif name == 'noob' %}
    <a>2</a>
    {% else %}
    <a>3</a>
{% endif %}
⚠️ **GitHub.com Fallback** ⚠️