详解Django中的ifequal和ifnotequal标签使用


Posted in Python onJuly 16, 2015

Django模板系统压根儿就没想过实现一个全功能的编程语言,所以它不允许我们在模板中执行Python的语句(还是那句话,要了解更多请参看理念和限制小节)。 但是比较两个变量的值并且显示一些结果实在是个太常见的需求了,所以Django提供了 {% ifequal %} 标签供我们使用。

{% ifequal %} 标签比较两个值,当他们相等时,显示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。

下面的例子比较两个模板变量 user 和 currentuser :

{% ifequal user currentuser %}
  <h1>Welcome!</h1>
{% endifequal %}

参数可以是硬编码的字符串,随便用单引号或者双引号引起来,所以下列代码都是正确的:

{% ifequal section 'sitenews' %}
  <h1>Site News</h1>
{% endifequal %}

{% ifequal section "community" %}
  <h1>Community</h1>
{% endifequal %}

和 {% if %} 类似, {% ifequal %} 支持可选的 {% else%} 标签:

{% ifequal section 'sitenews' %}
  <h1>Site News</h1>
{% else %}
  <h1>No News Here</h1>
{% endifequal %}

只有模板变量,字符串,整数和小数可以作为 {% ifequal %} 标签的参数。下面是合法参数的例子:

{% ifequal variable 1 %}
{% ifequal variable 1.23 %}
{% ifequal variable 'foo' %}
{% ifequal variable "foo" %}

其他任何类型,例如Python的字典类型、列表类型、布尔类型,不能用在 {% ifequal %} 中。 下面是些错误的例子:

{% ifequal variable True %}
{% ifequal variable [1, 2, 3] %}
{% ifequal variable {'key': 'value'} %}

如果你需要判断变量是真还是假,请使用 {% if %} 来替代 {% ifequal %} 。

Python 相关文章推荐
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
轻松理解Python 中的 descriptor
Sep 15 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Python分支语句与循环语句应用实例分析
May 07 Python
解决python3 安装不了PIL的问题
Aug 16 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Python提取视频中图片的示例(按帧、按秒)
Oct 22 Python
Flask处理Web表单的实现方法
Jan 31 Python
Python实现数通设备端口使用情况监控实例
Jul 15 #Python
Python实现快速多线程ping的方法
Jul 15 #Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 #Python
Python的Django框架中if标签的相关使用
Jul 15 #Python
在Python的Django框架中调用方法和处理无效变量
Jul 15 #Python
python实现判断数组是否包含指定元素的方法
Jul 15 #Python
python获取元素在数组中索引号的方法
Jul 15 #Python
You might like
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
laravel 数据验证规则详解
2019/10/23 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
详解python中的json的基本使用方法
2016/12/21 Python
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python增加图像对比度的方法
2019/07/12 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
心得体会开头
2014/01/01 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
幼师自我鉴定
2014/02/01 职场文书
大四自我鉴定
2014/02/08 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis