If Else

收藏499

阅读1935

更新时间2025-08-21

If 语句

if 语句计算一个变量,如果值为真,则执行一段代码。

实例

{% if greeting == 1 %}
  

Hello

{% endif %}
运行实例 »

Elif

elif 关键字表示"如果前面的条件不成立,则试试这个条件"。

实例

{% if greeting == 1 %}
  

Hello

{% elif greeting == 2 %}

Welcome

{% endif %}
运行实例 »

Else

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 %}
运行实例 »

and

检查多个条件是否为真。

实例

{% if greeting == 1 and day == "Friday" %}
  

Hello Weekend!

{% endif %}
运行实例 »

or

检查其中一个条件是否为真。

实例

{% if greeting == 1 or greeting == 5 %}
  

Hello

{% 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 %}
  

Hello

{% else %}

Goodbye

{% endif %}
运行实例 »

not in

检查对象中是否不存在某个项目。

实例

{% if 'Banana' not in fruits %}
  

Hello

{% else %}

Goodbye

{% 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 %}
  

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 %}
运行实例 »

is not

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

实例

{% if x is not y %}
  

YES

{% else %}

NO

{% endif %}
运行实例 »

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号