详解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单例模式与metaclass
Jan 15 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
浅谈利用numpy对矩阵进行归一化处理的方法
Jul 11 Python
Django model反向关联名称的方法
Dec 15 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
更新修改后的Python模块方法
Mar 03 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
django-初始配置(纯手写)详解
Jul 30 Python
Python内置异常类型全面汇总
May 28 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
python爬虫爬取网页数据并解析数据
Sep 18 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
Python实现周期性抓取网页内容的方法
2015/11/04 Python
Python中字符串的修改及传参详解
2016/11/30 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python八皇后问题的解决方法
2018/09/27 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
Python argparse模块使用方法解析
2020/02/20 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
《走遍天下书为侣》教学反思
2016/02/22 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记