详解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中关键字is与==的区别简述
Jul 31 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
json跨域调用python的方法详解
Jan 11 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
pandas的相关系数与协方差实例
Dec 27 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Django正则URL匹配实现流程解析
Nov 13 Python
python如何调用php文件中的函数详解
Dec 29 Python
pandas apply使用多列计算生成新的列实现示例
Feb 24 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预定义常量
2006/12/25 PHP
PHP Ajax中文乱码问题解决方法
2009/02/27 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
javascript下string.format函数补充
2010/08/24 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
python网络编程之数据传输UDP实例分析
2015/05/20 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
wxPython的安装与使用教程
2018/08/31 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
Python读取YAML文件过程详解
2019/12/30 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
本科毕业生专业自荐书范文
2014/02/05 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
本溪水洞导游词
2015/02/11 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
Python实现byte转integer
2021/06/03 Python
分析并发编程之LongAdder原理
2021/06/29 Java/Android
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS