include – Django模板标签
Django模板是一个使用Django模板语言标记的文本文档或Python字符串。Django是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。Django模板不仅允许从视图到模板传递数据,还提供了一些有限的编程功能,如变量、for循环、注释、扩展、包含等。
本文围绕着如何在模板中使用include标签。include标签加载一个模板,并在当前上下文中渲染它。这是一种在模板中 “包括 “其他模板的方式。模板名称可以是一个变量,也可以是一个硬编码(带引号)的字符串,用单引号或双引号。
语法
{% include "template_name.html" %}
示例
{% include "foo/bar.html" %}
通常,模板名称是相对于模板加载器的根目录而言的。字符串参数也可以是以./或./开头的相对路径,如extends标签中所述。
include – Django模板标签说明
用一个例子说明如何在Django模板中使用include标签。考虑一个名为geeksforgeeks的项目,它有一个名为geeks的应用程序。
现在创建一个视图,我们将通过它访问模板。
在 geeks/views.py ,
# import Http Response from django
from django.shortcuts import render
# create a function
def geeks_view(request):
# return response
return render(request, "geeks.html.html")
创建一个url路径来映射到这个视图。在geeks/urls.py ,
from django.urls import path
# importing views from views.py
from .views import geeks_view
urlpatterns = [
path('', geeks_view),
]
现在我们将创建三个模板来演示include标签。在geeks.html中创建一个基础模板。
<html>
<!-- Include header -->
{% include "component1.html" %}
<h4>Body Here</h4>
<!-- Include Footer -->
{% include "component2.html" %}
</html>
在templates/component1.html中创建两个组件
<!-- component1.html -->
<h2> Header Here </h2>>
和 templates/component2.html
<!-- component2.html -->
<h4>Footer here</h4>
现在访问http://127.0.0.1:8000/ 。
高级用法
人们可以使用关键字参数向模板传递额外的上下文。
{% include "name_snippet.html" with person="Jane" greeting="Hello" %}