if – Django模板标签

if – Django模板标签

Django模板是一个使用Django模板语言标记的文本文档或Python字符串。Django是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。Django模板不仅允许从视图到模板传递数据,而且还提供了一些有限的编程功能,如变量、for循环、注释、扩展、if else等。
这篇文章围绕着如何在模板中使用if标签。{% if %}标签评估一个变量,如果该变量为 “真”(即存在,不是空的,也不是一个假的布尔值),则输出该块的内容。

语法:

{% if variable %}
// statements
{% else %}
// statements
{% endif %}

示例:

{% if athlete_list %}
    Number of athletes: {{ athlete_list|length }}
{% elif athlete_in_locker_room_list %}
    Athletes should be out of the locker room soon!
{% else %}
    No athletes.
{% endif %}

在上面,如果athlete_list不是空的,运动员的数量将由{{ athlete_list|length }}变量显示。
正如人们所看到的,if标签可以接受一个或几个{% elif %}子句,以及一个{% else %}子句,如果前面所有的条件都失败,就会显示出来。这些子句是可选的。

if – Django模板标签说明

用一个例子说明如何在Django模板中使用if标签。考虑一个名为geeksforgeeks的项目,它有一个名为geeks的应用程序。

现在创建一个视图,我们将通过它来传递上下文字典。
In geeks/views.py,

# import Http Response from django
from django.shortcuts import render
  
# create a function
def geeks_view(request):
    # create a dictionary
    context = {
        "data" : 99,
    }
    # return response
    return render(request, "geeks.html", context)

创建一个url路径来映射到这个视图。在geeks/urls.py中。

from django.urls import path
 
# importing views from views.py
from .views import geeks_view
 
urlpatterns = [
    path('', geeks_view),
]

在templates/geeks.html中创建一个模板。

{% if data %}
Value in data is : - {{ data }}
{% else %}
Data is empty
{% endif%}

让我们检查一下”/”上显示的内容是否在模板中显示。

如果 - Django模板标签

{% else %}

让我们检查一下{% else %}语句是否有效。
现在让我们传递一个空数组,并使用空标签和for标签。
In geeks/views.py,

## import Http Response from django
from django.shortcuts import render
  
# create a function
def geeks_view(request):
    # create a dictionary
    context = {
        "data" : False,
    }
    # return response
    return render(request, "geeks.html", context)

现在,请检查http://127.0.0.1:8000/ 。

如果 - Django模板标签

高级用法

if标签可以使用and、or或not来测试一些变量或否定一个特定的变量。

{% if athlete_list and coach_list %}
    Both athletes and coaches are available.
{% endif %}

{% if not athlete_list %}
    There are no athletes.
{% endif %}

{% if athlete_list or coach_list %}
    There are some athletes or some coaches.
{% endif %}

{% if not athlete_list or coach_list %}
    There are no athletes or there are some coaches.
{% endif %}

{% if athlete_list and not coach_list %}
    There are some athletes and absolutely no coaches.
{% endif %}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程