Django自定义模板标签的使用详解

news2024/12/28 12:54:02

 

目录

1.创建子应用:python manage.py startapp test01

2.进行相关的配置

3.在新建的test01文件下创建urls.py(此处名称可变但注意上图)

4.在test01文件下创建名称为templatetags的文件夹

5.templatetags文件下继续创建几个py文件如下图​编辑

6.views视图函数

7.在test01文件下创建templates文件夹,并在此文件夹下创建html文件

8.配置路径 ​编辑

9.检测运行:python manage.py runserver

10.运行结果:​编辑


1.创建子应用:python manage.py startapp test01

   如下图:

 

2.进行相关的配置

 

 

 

3.在新建的test01文件下创建urls.py(此处名称可变但注意上图)

4.在test01文件下创建名称为templatetags的文件夹

5.templatetags文件下继续创建几个py文件如下图

 __init__.py

from django import template
register=template.Library()

filter.py

from . import register
@register.filter
def myupper(value):
    return value.upper()

labels.py

from . import register
import datetime
@register.simple_tag
def show_name(name):
    return name
@register.simple_tag
def show_time(format_str):
    return datetime.datetime.now().strftime(format_str)
@register.simple_tag(takes_context=True)
def current_time(context):
    format_str=context.get('format_str')
    return datetime.datetime.now().strftime(format_str)
@register.inclusion_tag('include.html',name="stags")
def show_tags(person):
    items=[{
         'name':'test',
         'age':18,
    }]
    return {
            "items":items,
            'person':person
            }

6.views视图函数

 

from django.shortcuts import render

# Create your views here.
def a(request):
   return render(request,"filter.html",context={
      'feng':"a",
      'format_str':"%Y-%m-%d %H:%M:%S"
   })
def include_tags(request):
   return render(request,"show_tags.html",context={
      'person':{
         'name':request.GET.get('username'),
         'age':request.GET.get('age')
      }
   })

7.在test01文件下创建templates文件夹,并在此文件夹下创建html文件

 filter.html

{% load filters %}
{% load labels %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    {{ feng|myupper }}
    <p>自定义标签</p>
    {% show_name '小' %}
    <li>时间:{% show_time "%Y-%m-%d" %}</li>
    <li>上下文时间:{% current_time %}</li>
</div>
</body>
</html>

include.py

<ul>
    {{items }}
    {{ person }}
</ul>

show_tags.html

{% load labels %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    {% stags person %}

</div>
</body>
</html>

8.配置路径 

from django.urls import path
from . import views
urlpatterns=[
    path('a',views.a),
    path('b/',views.include_tags)
]

9.检测运行:python manage.py runserver

10.运行结果:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/337010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

走进独自开,带你轻松干副业

今天给大家分享一个开发者的福利平台——独自开&#xff08;点击直接注册&#xff09;&#xff0c;让你在家就能解决收入问题。 文章目录一、平台介绍二、系统案例三、获取收益四、使用平台1、用户注册2、用户认证3、任务报价五、文末总结一、平台介绍 简单说明 独自开信息科技…

人工智能的未来———因果推理what if 第11章(统计模型) 文章解读

我们在观察数据当中,一般使用样本均值去估计目标人群的均值 在所有情况都是理想的情况下: 平均因果效应

Linux环境运行Maven 生成的hadoop jar包

运行命令&#xff1a; hadoop jar ./jar包名字 class对象路径 输入路径 输出路径 linux内部jar包测试 cd 到以下目录&#xff0c;创建以下文件夹 [rootreagan180 ~]# cd /opt/soft/hadoop313/share/hadoop/mapreduce/ 创建文件夹&#xff08;读取路径&#xff09; [roo…

ETL基础概念及要求详解

ETL基础概念及要求详解概念ETL与ELT数据湖与数据仓库ETL应用场景ETL具体流程及操作要求抽取清洗转换加载ETL设计模式SQL脚本语言ETL工具设计ETL工具SQLETL接口设计要求明确接口属性约定接口形式确定接口抽取方法规范接口格式概念 ETL即Extract&#xff08;抽取&#xff09;Tra…

Python学习-----无序序列1.0(字典的创建、查看、添加、修改、删除/替换)

目录 前言&#xff1a; 字典是什么 字典的特点 1.字典的创建 &#xff08;1&#xff09;直接创建{} &#xff08;2&#xff09;dict() 函数创建 2.字典的查询 &#xff08;1&#xff09;get()函数 &#xff08;2&#xff09;获取字典一组内容 3.字典键值对的添加 &a…

1CN/Jaccard/PA/AA/RA/Katz/PageRank/SimRank

common neighbors&#xff08;CN&#xff09; 公共邻居的数量。 Jaccard 用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大&#xff0c;样本相似度越高。 preferential attachment&#xff08;PA&#xff09; 节点倾向于连接到节点度较高的节点上&#xff0c;&…

BSN-DDC基础网络详解(二):快速接入指南

本文将为大家介绍BSN算力中心方和DDC网络平台方接入DDC网络的基本流程&#xff0c;如下图所示&#xff0c;算力中心方和平台方依次执行图内左侧流程&#xff0c;右侧流程由DDC网络运营人员操作。01注册门户账号注册在接入之前&#xff0c;算力中心方和平台方需要先注册一个官方…

Android性能优化:getResources()与Binder交火导致的界面卡顿优化

欢迎&#xff1a;https://juejin.cn/post/7198430801851531324/ 欢迎&#xff1a;https://nasdaqgodzilla.github.io/2023/02/10/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%EF%BC%9AgetResources-%E4%B8%8EBinder%E4%BA%A4%E7%81%AB%E5%AF%BC%E8%87%B4%E7%9A%84%E7%95%8C%E…

Neurosynth元分析——认知解码工具,软件包安装以及使用

Neurosynth元分析——认知解码工具,软件包安装以及使用 NeuroSynth 基本简介基本原理例子Neurosynth package安装及使用创建虚拟环境安装Dependencies:安装neurosynthNeurosynth使用加载必要的包下载neurosynth数据参考如上图所示。NeuroSynth 元分析感兴趣的区域沿功能连接梯…

玩转黑科技|ChatGPT保姆级注册指南(含免费手机号福利)

前言最近爆火的ChatGPT大家都应该多多少少的有所听说&#xff0c;各种渠道得知大家应该见识到他的强大&#xff0c;是不是很想上手玩一玩&#xff1f;但是由于其不支持中国电话号码进行注册&#xff0c;导致【注册ChatGPT】成了众多玩家头疼的事&#xff0c;也无法体验这个机器…

开源免费的WEB应用防火墙

开源免费的WEB应用防火墙 排名不分前后 资源宝分享&#xff1a;www.httple.net 1、南墙WEB应用防火墙&#xff08;简称&#xff1a;&#xff09;是有安科技推出的一款全方位网站防护产品。通过有安科技专有的WEB入侵异常检测等技术&#xff0c;结合有安科技团队多年应用安全的…

小白该从哪方面入手学习大数据

大数据本质上是海量数据。 以往的数据开发&#xff0c;需要一定的Java基础和工作经验&#xff0c;门槛高&#xff0c;入门难。 如果零基础入门数据开发行业的小伙伴&#xff0c;可以从Python语言入手。 Python语言简单易懂&#xff0c;适合零基础入门&#xff0c;在编程语言…

vue 回调函数(callback)的用法

一、介绍&#xff1a; 1、前提&#xff1a;在 js 中&#xff0c;函数也是对象&#xff0c;可以赋值给变量&#xff0c;可以作为参数放在函数的参数列表中&#xff0c;如&#xff1a; var doSomething function(a,b){return a b; } console.log(doSomething(2,3));2、概念&a…

神经网络基础部件-BN层详解

一&#xff0c;数学基础 1.1&#xff0c;概率密度函数 随机变量&#xff08;random variable&#xff09;是可以随机地取不同值的变量。随机变量可以是离散的或者连续的。简单起见&#xff0c;本文用大写字母 XXX 表示随机变量&#xff0c;小写字母 xxx 表示随机变量能够取到…

Zabbix 构建监控告警平台(二)--

Apache监控示例&#xff08;图形监控&#xff09;模板TemplateZabbix Items 1.Apache监控示例&#xff08;图形监控&#xff09; 1.1创建主机组 在“配置”->“主机群组”->“创建主机群组” 填入组名“webserver_test” 创建完成之后可以在“配置”->"主机群组&…

界面控件DevExpress WinForm中文教程 - 如何使用模板库构建类Office UI?

DevExpress WinForm拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜任…

opengl glsl shader vscode安装插件glsl_canvas 和 shader languagesupportForVS Code

u_resolution 是画布尺寸&#xff0c;即代表画布宽高 //给内置变量gl_PointSize赋值像素大小&#xff0c;注意值是浮点数 gl_PointSize20.0; // 片元沿着x方向渐变 gl_FragColor vec4(gl_FragCoord.x/500.0*1.0,1.0,0.0,1.0); // 接收插值后的纹理坐标 varying vec2 v…

作为开发人员您会喜欢的 7 个免费公共 API

1. JSON 占位符JSON Placeholder是一项服务&#xff0c;可为您提供用于测试和原型制作的假在线REST API 。这是每个开发人员的首选 API。2.谷歌翻译Google有大量的API&#xff0c;但其中大部分是付费的。值得庆幸的是&#xff0c;Translate API提供100 多种语言的免费翻译&…

Spring面试重点(二)——Spring循环依赖

Spring循环依赖 什么是循环依赖&#xff1f; 从字面上来理解就是A依赖B的同时B也依赖了A&#xff0c;就像上面这样&#xff0c;或者C依赖与自己本身。体现到代码层次就是这个样子 Component public class A { // A中注入了B Autowired private B b; }---Component public cla…

@Valid注解配合属性校验注解完成参数校验并且优化异常处理

Valid注解配合属性校验注解完成参数校验并且优化参数校验异常处理1 Valid注解配合属性校验注解完成参数校验2 优化参数校验异常处理1 Valid注解配合属性校验注解完成参数校验 向数据库商品分类表中新增商品分类字段&#xff0c;并校验传入的参数 不使用注解的传统方法&#xf…