首页 > 其他分享 >【补充】制作inclusion_tag标签

【补充】制作inclusion_tag标签

时间:2023-07-21 15:55:19浏览次数:37  
标签:inclusion 标签 tag template your 模板

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

标签:inclusion,标签,tag,template,your,模板
From: https://www.cnblogs.com/dream-ze/p/17571618.html

相关文章

  • 【补充】前端渲染文本属性的标签样式
    【补充】前端渲染文本属性的标签样式【1】直接修改标签的值(Directlymodifyingthevalueofatag):这种方式适用于需要将数据直接插入到HTML标签中的情况。一种常用的方法是使用jQuery库来选中需要修改的标签并使用.html()方法来设置新的值。例如:$('#digg_tips').html(......
  • HTML | 图片标签
    基本使用标签名标签语义常用属性单/双标签img图片src:图片路径(又称:图片地址)——图片的具体位置alt:图片描述width:图片宽度,单位是像素,例如:200px或200height:图片高度,单位是像素,例如:200px或200单总结:像素(px)是一种单位,学到CSS时,我们会详细讲解。尽......
  • SVN的标准目录结构:trunk、branches、tags
    我们在一些著名开源项目的版本库中,通常可以看到trunk,branches,tags等三个目录。由于SVN固有的特点,目录在SVN中并没有特别的意义,但是这三个目录却在大多数开源项目中存在,这是因为这三个目录反映了软件开发的通常模式。trunk是主分支,是日常开发进行的地方。branches是分支......
  • 图解SVN开发版本控制和发布流程,Trunk、Tag、Branch的使用
    介绍一种比较合理的SVNTrunk、Tag和Branch使用方法。先上图,再说明:  责职说明:Trunk:用于各版本开发提交代码TAG:用于记录和保存每个release/milestone的代码Branch:用于bugfixing过程说明: 项目开始时,创建Trunk,开始1.0.0开发所有小组成员都往Trunk中提交代码当1.0.0......
  • c#、winfrom在一个窗体中鼠标双击datagridview1选中某行,将其选中的行的所有数据在data
    效果展示:代码逻辑:首先在datagridview1中按条件查询数据,然后在datagridview2在查询和datagridview1中一样的Select语句,只不过在datagridview2的查询语句中需添加where条件获取datagridview1在选中行的id,在datagridview2显示就好了代码:单据筛选按钮 privatevoidbutton1_Click......
  • NAPC-#1 rStage5 - Hard Conveyors
    这个人赛时只过了这题,但是同学@sinsop90赛时只没过这题,怎么会是呢?考虑到\(s,t\)之间路径必须经过关键点,假设这个关键点为\(k\),那么路径形式一定是\(s\tok\tot\)(废话)。画一下图发现这条路径的长度等于\(s\tot\)的简单路径长度加上\(k\)挂到\(s\tot\)简单路径这条......
  • jsp写java代码 添加html标签
    JSP写Java代码添加HTML标签简介JSP(JavaServerPages)是一种动态网页技术,允许将Java代码嵌入到HTML页面中。通过在JSP文件中添加Java代码,我们可以在生成的HTML页面中插入动态内容,包括HTML标签。本文将介绍如何在JSP中写Java代码来添加HTML标签,并提供相应的代码示例。JSP基础在开......
  • datagrip的脚本扩展
    今天偶然發現datagrip有腳本擴展,位置在schema下創建文件爲xxx.groovy,執行的時候選擇庫或者表選擇後面進行執行,自帶了一個數據庫表轉換爲pojo的腳本,可以選擇多個表,但是不能直接選擇數據庫哦......
  • 输出svg图形,显示数据标签 python
    输出SVG图形,显示数据标签的PythonSVG(ScalableVectorGraphics)是一种基于XML的矢量图形标准,它使用XML格式描述二维图形和图形应用程序。在Python中,我们可以使用不同的库来生成SVG图形,并通过添加数据标签的方式向图形添加数据信息。本文将介绍如何使用Python生成SVG图形,并显示数据......
  • [未解决] vue transform-blocks解析源代码报错:Illegal tag name. Use '<' to print '<
    报错内容:[vite]Internalservererror:Illegaltagname.Use'<'toprint'<'.用的是这篇博文的源代码展示方法:如何用vite的vueCustomBlockTransforms(自定义块转换)实现源代码展示使用时突然遇到某一个vue文件添加<demo></demo>标签后报错,但其他vue文件可以正常读取和展示......