【补充】制作inclusion_tag标签
【一】inclusion_tag标签详解
inclusion_tag
是Django框架提供的一个有用的标签- 它允许开发者在模板中重用一段HTML代码。
- 通过定义和注册自己的inclusion tag
- 您可以将常见的显示逻辑封装为一个可重复使用的组件。
【1】详解
- 首先,在Django的views.py文件或者一个单独的Python模块中
- 定义您的inclusion_tag。
from django import template
from django.shortcuts import render
register = template.Library()
@register.inclusion_tag('your_template.html')
def your_inclusion_tag(parameter):
# 添加您的处理逻辑
# 基于传入的参数,执行相应的操作
context = {
'parameter': parameter,
# 添加其他需要传递给模板的变量
}
return context
- 在您的模板文件(例如,your_template.html)中
- 使用
your_inclusion_tag
。
- 使用
{% load your_template %}
<!DOCTYPE html>
<html>
<head>
<title>Your Page</title>
</head>
<body>
{% your_inclusion_tag "your_value" %}
</body>
</html>
- 最后
- 在视图函数中
- 将模板渲染为响应并返回。
from django.shortcuts import render
def your_view(request):
# 添加您的视图逻辑
# 通常,您会处理一些数据,并将其传递给模板
return render(request, 'your_template.html')
- 这是一个基本的示例
- 展示了如何使用
inclusion_tag
。 - 当您在模板中调用
your_inclusion_tag
标签时 - 将会渲染与该标签关联的模板,并传递给它指定的参数。
- 展示了如何使用
这样,您就可以创建可重复使用的HTML组件,并在多个页面中使用它们,从而提高代码的可维护性和重用性。
【二】制作步骤
当我们有重复需要的HTML代码,并且页面中的数据也需要反复使用的时候,就可以考虑制作成
inclusion_tag
标签
【1】创建templatetags
文件夹
- 在项目的app目录下创建一个
templatetags
文件夹
【2】创建自定义文件名的py文件
- 在上面的
templatetags
文件夹下创建一个py文件- py文件名可以是任意自定义
【3】在py文件中书写固定语法
- 在新创建的py文件头部添加两行固定代码
from django import templete
register = templete.Lirary()
【4】书写自定义的代码逻辑
from django import template
register = template.Library()
@register.inclusion_tag(left_menu.html)
def index():
准备上述页面需要的数据
return locals()