手册
目录
if 语句计算一个变量,如果值为真,则执行一段代码。
{% if greeting == 1 %}
Hello
{% endif %}
运行实例 »
elif 关键字表示"如果前面的条件不成立,则试试这个条件"。
{% if greeting == 1 %}
Hello
{% elif greeting == 2 %}
Welcome
{% endif %}
运行实例 »
else 关键字可以捕获前面条件未捕获的任何内容。
{% if greeting == 1 %}
Hello
{% elif greeting == 2 %}
Welcome
{% else %}
Goodbye
{% endif %}
运行实例 »
上面的例子使用了==运算符,用来检查一个变量是否等于一个值,
但是您可以使用许多其他运算符,或者如果您只想检查变量是否不为空,甚至可以删除运算符:
{% if greeting %}
Hello
{% endif %}
运行实例 »
等于。
{% if greeting == 2 %}
Hello
{% endif %}
运行实例 »
不等于。
{% if greeting != 1 %}
Hello
{% endif %}
运行实例 »
小于。
{% if greeting < 3 %}
Hello
{% endif %}
运行实例 »
小于或等于。
{% if greeting <= 3 %}
Hello
{% endif %}
运行实例 »
大于。
{% if greeting > 1 %}
Hello
{% endif %}
运行实例 »
大于或等于。
{% if greeting >= 1 %}
Hello
{% endif %}
运行实例 »
检查多个条件是否为真。
{% if greeting == 1 and day == "Friday" %}
Hello Weekend!
{% endif %}
运行实例 »
检查其中一个条件是否为真。
{% if greeting == 1 or greeting == 5 %}
Hello
{% endif %}
运行实例 »
结合 and 和 or。
{% if greeting == 1 and day == "Friday" or greeting == 5 %}
运行实例 »
在 Django 的 if 语句中不允许使用括号,所以当你结合 and 和 or 运算符,重要的是要知道括号是为 and 而不是为 or 添加的。
意思是上面的例子是这样被解释器读取的:
{% if (greeting == 1 and day == "Friday") or greeting == 5 %}
检查某个项目是否存在于对象中。
{% if 'Banana' in fruits %}
Hello
{% else %}
Goodbye
{% endif %}
运行实例 »
检查对象中是否不存在某个项目。
{% if 'Banana' not in fruits %}
Hello
{% else %}
Goodbye
{% endif %}
运行实例 »
检查两个对象是否相同。
这个操作符与==运算符不同,因为==运算符检查两个对象的值,而is运算符检查两个对象的身份。
在视图中,我们有两个对象,x 和 y,具有相同的值: p>
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 %}
YES
{% else %}
NO
{% endif %}
运行实例 »
让我们用 == 运算符尝试相同的示例:
{% if x == y %}
YES
{% else %}
NO
{% endif %}
运行实例 »
两个对象怎么可能相同? 好吧,如果您有两个指向同一个对象的对象,那么 is 运算符的计算结果为 true:
我们将通过使用 {% with %} 标签来演示这一点,它允许我们在模板中创建变量:
{% with var1=x var2=x %}
{% if var1 == var2 %}
YES
{% else %}
NO
{% endif %}
{% endwith %}
运行实例 »
检查两个对象是否不相同。
{% if x is not y %}
YES
{% else %}
NO
{% endif %}
运行实例 »
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
71万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125.1万人学习