Django Template Language(DTL)判断

判断:

标签:{% if %}、{% else %}

{% if %}用于判断表达式中的条件是否为真,即是否存在,不为空,不是假值,模板系统显示{% if %}{% endif %}之间的内容。

例如:

{% if 2>1 %}
<h1>如果2大于1,则本段文字显示<h1>
{% endif %}

结果显而易见:

       如果2大于1,则本段文字显示

当然,同其他语言一样,也拥有{% else %}标签,当然也可以多个使用,是可选的

{% if 2>1 %}
<h1>如果2大于1,则本段文字显示</h1>
{% else %}
<h1>2小于1,则本段文字将显示</h1>
{% endif %}

结果也是:如果2大于1,则本段文字显示

并且,同python一样,有{% elif %}标签

{%if 1>2 %}
<p>1>2</p>
{% elif 2>3 %}
<p>2>3</p>
{% else %}
<p>1<2<3</p>
{% endif %}

结果:1<2<3

同时,{% if %}标签内支持and or not 测试多个变量,或者取变量额反值

{% if 2>3 and 2>1%}</p>2>3&&3>1</p>{% endif %}    #当两个条件都满足时才为真
{% if 3>2 and 3>1%}<p>3>2&&3>1</p>{% endif %}    #两个条件都为真,显示
{% if 3>2 or 1>2%}<p>3>2|1>2</p>{% endif %}    #有一个条件为真便显示
a=False
{% if not a %}<p>a is False!</p>{% endif %}    #a为FALSE显示
{% if 2>1 and not a%}<p>2>1&&Ture</p>{% endif %}    #not可以和and or 使用
{% if 2>1 and 3>2 or 4<1%}<p>2>1&&3>2|4<1</p>{% endif %}    #and的优先级比or高:(2>1 and 3>2)or 4<1

结果:

3>2&&3>1
3>2|1>2
a is False
2>1&&Ture
2>1&&3>2|4<1

Attention:if标签中使用括号是无效的语法

如果需要通过括号指明优先级,应使用嵌套的if标签

ifeqaul/ifnotequal:

{% ifequal %}用于比较两个值,在相等的时候显示一些内容.其参数只能是模板变量,字符串、整数和小数,并且可以用else标签

a=1
b=1
{% ifequal a b %}
<h1>a==b</h1>
{% endifequal %}

c='dcp'
{% ifequal c "dcp"%}
<p>I'm Dcp</p>
{% endequal %}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值