Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Django if 标签


if 语句

一个 if 语句评估一个变量,如果值是真,则执行代码块。

示例

{% if greeting == 1 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

elif

关键字 elif 表示“如果前面的条件不成立,那么尝试这个条件”。

示例

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% endif %} 
运行示例 »

else

关键字 else 捕获所有不被前面的条件捕获的内容。

示例

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %} 
运行示例 »

运算符

上面的示例使用了 == 运算符,该运算符用于检查变量是否等于某个值,但可以使用许多其他运算符,或者如果只是要检查变量是否不为空,则可以省略运算符。

示例

{% if greeting %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

==

等于。

示例

{% if greeting == 2 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

!=

不等于。

示例

{% if greeting != 1 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

<

小于。

示例

{% if greeting < 3 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

<=

小于或等于。

示例

{% if greeting <= 3 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

>

大于。

示例

{% if greeting > 1 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

>=

大于或等于。

示例

{% if greeting >= 1 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

and

要检查是否有多个条件为真。

示例

{% if greeting == 1 and day == "Friday" %}
  <h1>Hello Weekend!</h1>
{% endif %} 
运行示例 »

or

要检查是否有一个条件为真。

示例

{% if greeting == 1 or greeting == 5 %}
  <h1>Hello</h1>
{% endif %} 
运行示例 »

and/or

结合 andor

示例

{% if greeting == 1 and day == "Friday" or greeting == 5 %}
运行示例 »

在 Django 中的 if 语句中不允许使用括号,因此当您结合 andor 运算符时,重要的是要知道括号是为 and 添加的,而不是为 or 添加的。

这意味着上面的示例被解释器这样解析

{% if (greeting == 1 and day == "Friday") or greeting == 5 %}

in

要检查某个项是否在一个对象中。

示例

{% if 'Banana' in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %} 
运行示例 »

not in

要检查某个项是否不在一个对象中。

示例

{% if 'Banana' not in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %} 
运行示例 »

is

检查两个对象是否相同。

这个运算符与 == 运算符不同,因为 == 运算符检查两个对象的,而 is 运算符检查两个对象的标识。

在视图中,我们有两个对象,xy,它们的值相同

示例

views.py:

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'x': ['Apple', 'Banana', 'Cherry'], 
    'y': ['Apple', 'Banana', 'Cherry'], 
  }
  return HttpResponse(template.render(context, request))  

这两个对象的值相同,但它们是同一个对象吗?

示例

{% if x is y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}
运行示例 »

让我们尝试用 == 运算符代替上面的示例

示例

{% if x == y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}
运行示例 »

两个对象怎么会是同一个?好吧,如果您有两个对象指向同一个对象,那么 is 运算符将评估为真

我们将通过使用 {% with %} 标签来演示这一点,该标签允许我们在模板中创建变量

示例

{% with var1=x var2=x %}
  {% if var1 is var2 %}
    <h1>YES</h1>
  {% else %}
    <h1>NO</h1>
  {% endif %}
{% endwith %}
运行示例 »

is not

要检查两个对象是否不同。

示例

{% if x is not y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %} 
运行示例 »


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.