firstof – Django模板标签

firstof – Django模板标签

Django模板是一个使用Django模板语言标记的文本文档或Python字符串。Django是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。Django模板不仅允许从视图到模板传递数据,而且还提供了一些有限的编程功能,如变量、for循环、注释、firstof等。
本文围绕如何在模板中使用firstof标签。 firstof标签 输出第一个非 “false “的参数变量(即存在、非空、非假布尔值和非零数值)。如果所有传递的变量都是 “false”,则不输出。

语法

{% firstof var1 var2 var3... %}

示例

{% firstof var1 var2 var3 %}

这相当于。

{% if var1 %}
    {{ var1 }}
{% elif var2 %}
    {{ var2 }}
{% elif var3 %}
    {{ var3 }}
{% endif %}

我们也可以使用一个字面字符串作为后备值,以防所有传递的变量都是False。

{% firstof var1 var2 var3 "fallback value" %}

firstof – Django模板标签说明

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

现在创建一个视图,我们将通过它访问模板。
In geeks/views.py,

# import Http Response from django
# import Http Response from django
from django.shortcuts import render
 
# create a function
def geeks_view(request):
    # create a dictionary
    context = {
        "var1":None,
        "var2":None,
        "var3":"GeeksForGeeks"
    }
    # 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中创建一个模板。

<h3>Variable displayed : </h3>
 
{% firstof var1 var2 var3 %}

让我们检查一下数据是否从geeks.html的第三个变量中显示出来了

firstof - Django模板标签

高级用法

这个标签会自动跳过变量值。你可以用以下方法禁用自动escaping。

{% autoescape off %}
    {% firstof var1 var2 var3 " **fallback value** " %}
{% endautoescape %}

或者,如果只有某些变量需要转义,你可以使用。

{% firstof var1 var2|safe var3 " **fallback value** "|safe %}

你可以使用语法{% firstof var1 var2 var3 as value %}来将输出存储在一个变量内。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程