extends – Django模板标签

extends – Django模板标签

Django模板是一个使用Django模板语言标记的文本文档或Python字符串。Django是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。Django模板不仅允许从视图到模板传递数据,而且还提供了一些有限的编程功能,如变量、for循环、注释、扩展等。
这篇文章围绕着如何在模板中使用extends标签。extends标签在django中用于模板的继承。人们需要不断重复相同的代码。使用extends,我们可以继承模板和变量。

语法:

{% extends 'template_name.html' %} 

示例:
假设目录结构如下。

dir1/
    template.html
    base2.html
    my/
        base3.html
base1.html

在template.html中,以下路径是有效的。

{% extends "./base2.html" %}
{% extends "../base1.html" %}
{% extends "./my/base3.html" %}

extends – Django模板标签说明

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

现在创建一个视图,我们将通过它访问模板。
In 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, "extendedgeeks.html")

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

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

extends总是与块状标签一起使用,所以可以继承和覆盖。在templates/geeks.html中创建一个模板作为基础模板。

<h1>Main Template</h1>
 
{% block content %}
{% endblock %}

现在创建一个模板,它将使用geeks.html作为基础模板。创建一个新的模板extendgeeks.html。

{% extends "geeks.html" %}
 
{% block content %}
<h2> GeeksForGeeks is the Best
{% endblock %}

让我们检查一下extendgeeks.html中的两个模板是否都显示了数据。

延伸 - Django模板标签

高级用法

{% extends variable %}使用变量的值。如果变量的值是一个字符串,Django将使用该字符串作为父模板的名称。如果变量的值是Template对象,Django将使用该对象作为父模板。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程