首页 > 编程 > Python > 正文

详解Django中的ifequal和ifnotequal标签使用

2020-01-04 18:03:53
字体:
来源:转载
供稿:网友

这篇文章主要介绍了详解Django中的ifequal和ifnotequal标签使用,Django是重多高人气Python框架中最为著名的一个,需要的朋友可以参考下

Django模板系统压根儿就没想过实现一个全功能的编程语言,所以它不允许我们在模板中执行Python的语句(还是那句话,要了解更多请参看理念和限制小节)。 但是比较两个变量的值并且显示一些结果实在是个太常见的需求了,所以Django提供了 {% ifequal %} 标签供我们使用。

{% ifequal %} 标签比较两个值,当他们相等时,显示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。

下面的例子比较两个模板变量 user 和 currentuser :

 

 
  1. {% ifequal user currentuser %} 
  2. <h1>Welcome!</h1> 
  3. {% endifequal %} 

参数可以是硬编码的字符串,随便用单引号或者双引号引起来,所以下列代码都是正确的:

 

 
  1. {% ifequal section 'sitenews' %} 
  2. <h1>Site News</h1> 
  3. {% endifequal %} 
  4.  
  5. {% ifequal section "community" %} 
  6. <h1>Community</h1> 
  7. {% endifequal %} 

和 {% if %} 类似, {% ifequal %} 支持可选的 {% else%} 标签:

 

 
  1. {% ifequal section 'sitenews' %} 
  2. <h1>Site News</h1> 
  3. {% else %} 
  4. <h1>No News Here</h1> 
  5. {% endifequal %} 

只有模板变量,字符串,整数和小数可以作为 {% ifequal %} 标签的参数。下面是合法参数的例子:

 

 
  1. {% ifequal variable 1 %} 
  2. {% ifequal variable 1.23 %} 
  3. {% ifequal variable 'foo' %} 
  4. {% ifequal variable "foo" %} 

其他任何类型,例如Python的字典类型、列表类型、布尔类型,不能用在 {% ifequal %} 中。 下面是些错误的例子:

 

 
  1. {% ifequal variable True %} 
  2. {% ifequal variable [1, 2, 3] %} 
  3. {% ifequal variable {'key''value'} %} 

如果你需要判断变量是真还是假,请使用 {% if %} 来替代 {% ifequal %} 。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表