【补充】制作inclusion_tag标签

发布时间 2023-07-21 15:52:32作者: Chimengmeng

【补充】制作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()