详解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的randrange()方法使用教程
May 15 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python set内置函数的具体使用
Jul 02 Python
python对csv文件追加写入列的方法
Aug 01 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python [:3] 实现提取数组中的数
Nov 27 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 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优于Node.js的五大理由分享
2012/09/15 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
js 小数取整的函数
2010/05/10 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
python移位运算的实现
2019/07/15 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
大学军训感言
2014/01/10 职场文书
对孩子的寄语
2014/04/09 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
丧事答谢词大全
2015/09/30 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL