详解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之print详解
Sep 28 Python
Python多线程编程(二):启动线程的两种方法
Apr 05 Python
python使用fileinput模块实现逐行读取文件的方法
Apr 29 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
Python协程的用法和例子详解
Sep 09 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 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数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
PHP防盗链代码实例
2014/08/27 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php服务器的系统详解
2019/10/12 PHP
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python网络编程之数据传输UDP实例分析
2015/05/20 Python
python根据京东商品url获取产品价格
2015/08/09 Python
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
教师群众路线心得体会
2014/11/04 职场文书
公积金具结保证书
2015/05/11 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python