Django | 模板语法之标签的使用(if,for..)

模板语法之标签

for循环

语法结构:
{% for 变量名 in 待循环集 %}
	循环体代码
{% endfor %}

# 可直接输入for按Tab键补全for循环的语法结构

eg:
{% for foo in l %}
    {{ foo }}
{% endfor %}

关键字:forloop

# forloop关键字可标识数据的状态

first:标识for循环是第一次
last :标识for循环时最后一次
counter0 : 索引
counter  : 计数
revcounter :倒序计数
revcounter0:倒序索引

if判断

语法结构:
{% if b %}     # 判断b是否为True
    <p>if</p>  # 条件成立执行
{% elif s %}  # 上述条件为False判断elif条件
    <h1>elif</h1>  # elif条件成立执行
{% else %}   # 上述都为False
    <p>else</p>
{% endif %}  # 结束语法


# 可直接输入if按Tab键补全语法结构

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 %}   # keys
    <p>{{ foo }}</p>
{% endfor %}
{% for foo in d.values %}  # values
    <p>{{ foo }}</p>
{% endfor %}
{% for foo in d.items %}   # items
    <p>{{ foo }}</p>
{% endfor %}

with起别名:

{% with dd.hobby.2.info as nb  %}
    <p>{{ nb }}</p>
    # 在with语法内就可以通过as后面的别名快速的使用到前面非常复杂获取数据的方式
    <p>{{ dd.hobby.2.info }}</p>   # 也可以使用之前的
{% endwith %}

posted @ 2022-03-02 15:22  JasonBorn  阅读(163)  评论(0编辑  收藏  举报