模板语法,标签:for循环,if判断,for与if混用,处理字典,起别名
for循环
# for 循环
{% for foo in l %}
<p>{{ forloop }}</p>
<p>{{ foo }}</p> 一个个元素
{% endfor %}
输出:
{'parentloop': {}, 'counter0': 0 索引, 'counter': 1 自上而下顺序, 'revcounter': 6, 'revcounter0': 5, 'first': True for循环开始, 'last': False }
{'parentloop': {}, 'counter0': 5, 'counter': 6, 'revcounter': 1, 'revcounter0': 0, 'first': False, 'last': True for循环结束}
if判断
{% if b %}
<p>baby</p>
{% elif s%}
<p>都来把</p>
{% else %}
<p>老baby</p>
{% endif %}
for与if混用
{% for foo in lll %}
{% if forloop.first %}
<p>这是我的第一次</p>
{% elif forloop.last %}
<p>这是最后一次啊</p>
{% else %}
<p>{{ foo }}</p>
{% endif %}
{% empty %} # 可迭代对象为空时打印
<p>for循环的可迭代对象内部没有元素 根本没法循环</p>
{% endfor %}
处理字典其他用法
# 处理字典其他方法
{% for foo in d.keys %}
<p>{{ foo }}</p>
{% endfor %}
{% for foo in d.values %}
<p>{{ foo }}</p>
{% endfor %}
{% for foo in d.items %} # 答应字典K:V
<p>{{ foo }}</p>
{% endfor %}
with起别名
{% with d.hobby.3.info as nb %}
<p>{{ nb }}</p>
在with语法内就可以通过as后面的别名快速的使用到前面非常复杂获取数据的方式
<p>{{ d.hobby.3.info }}</p>
{% endwith %}