Python的Django框架中if标签的相关使用


Posted in Python onJuly 15, 2015

{% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% endif %} 之间的任何内容,例如:

{% if today_is_weekend %}
  <p>Welcome to the weekend!</p>
{% endif %}

{% else %} 标签是可选的:

{% if today_is_weekend %}
  <p>Welcome to the weekend!</p>
{% else %}
  <p>Get back to work.</p>
{% endif %}

Python 的“真值”

在Python和Django模板系统中,以下这些对象相当于布尔值的False

  •     空列表([] )
  •     空元组(() )
  •     空字典({} )
  •     空字符串('' )
  •     零值(0 )
  •     特殊对象None
  •     对象False(很明显)

    提示:你也可以在自定义的对象里定义他们的布尔值属性(这个是python的高级用法)。

除以上几点以外的所有东西都视为`` True``

{% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ),例如: 例如:

{% if athlete_list and coach_list %}
  Both athletes and coaches are available.
{% endif %}

{% if not athlete_list %}
  There are no athletes.
{% endif %}

{% if athlete_list or coach_list %}
  There are some athletes or some coaches.
{% endif %}

{% if not athlete_list or coach_list %}
  There are no athletes or there are some coaches.
{% endif %}

{% if athlete_list and not coach_list %}
  There are some athletes and absolutely no coaches.
{% endif %}

{% if %} 标签不允许在同一个标签中同时使用 and 和 or ,因为逻辑上可能模糊的,例如,如下示例是错误的: 比如这样的代码是不合法的:

{% if athlete_list and coach_list or cheerleader_list %}

系统不支持用圆括号来组合比较操作。 如果你确实需要用到圆括号来组合表达你的逻辑式,考虑将它移到模板之外处理,然后以模板变量的形式传入结果吧。 或者,仅仅用嵌套的{% if %}标签替换吧,就像这样:

{% if athlete_list %}
  {% if coach_list or cheerleader_list %}
    We have athletes, and either coaches or cheerleaders!
  {% endif %}
{% endif %}

多次使用同一个逻辑操作符是没有问题的,但是我们不能把不同的操作符组合起来。 例如,这是合法的:

{% if athlete_list or coach_list or parent_list or teacher_list %}

并没有 {% elif %} 标签, 请使用嵌套的`` {% if %}`` 标签来达成同样的效果:

{% if athlete_list %}
  <p>Here are the athletes: {{ athlete_list }}.</p>
{% else %}
  <p>No athletes are available.</p>
  {% if coach_list %}
    <p>Here are the coaches: {{ coach_list }}.</p>
  {% endif %}
{% endif %}

一定要用 {% endif %} 关闭每一个 {% if %} 标签。

Python 相关文章推荐
Python open()文件处理使用介绍
Nov 30 Python
Python使用Scrapy爬取妹子图
May 28 Python
带你了解python装饰器
Jun 15 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
Dec 11 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
浅谈Python基础—判断和循环
Mar 22 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
Python自动发送和收取邮件的方法
Aug 12 Python
在Python的Django框架中调用方法和处理无效变量
Jul 15 #Python
python实现判断数组是否包含指定元素的方法
Jul 15 #Python
python获取元素在数组中索引号的方法
Jul 15 #Python
Django框架中方法的访问和查找
Jul 15 #Python
Python的Django框架中的Context使用
Jul 15 #Python
在Python的Django框架中创建和使用模版
Jul 15 #Python
详解Python的Django框架中的模版相关知识
Jul 15 #Python
You might like
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
js中的面向对象入门
2017/03/06 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
详解node nvm进行node多版本管理
2017/10/21 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python实现dijkstra最短路由算法
2019/01/17 Python
python使用thrift教程的方法示例
2019/03/21 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
开办饭店创业计划书
2013/12/28 职场文书
网络工程师职业规划
2014/02/10 职场文书
美术指导助理求职信
2014/04/20 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
高中班主任心得体会
2016/01/07 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
六年级作文之家庭作文
2019/12/12 职场文书