详解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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
Python中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
Python利用ansible分发处理任务
Aug 04 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
python实现字符串加密成纯数字
Mar 19 Python
python networkx 根据图的权重画图实现
Jul 10 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
python框架flask表单实现详解
Nov 04 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
python中数组和列表的简单实例
Mar 25 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
详解JS面向对象编程
2016/01/24 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python各种语言间时间的转化实现代码
2016/03/23 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
python数据结构之链表详解
2017/09/12 Python
深入理解Django中内置的用户认证
2017/10/06 Python
python爬虫基本知识
2018/03/05 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
python的常见矩阵运算(小结)
2019/08/07 Python
python 实现波浪滤镜特效
2020/12/02 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js