Django Template层之自定义tag

Django Template层之自定义tag

by:授客 QQ1033553122

 

测试环境

Win7

Django 1.11

 

实践

步骤1

应用根目录下,新建templatetags包目录(注意:该目录名称是约定的),并在该目录下新建自定义py文件(例中为project_dir/website/website_template_tags.py)

代码布局如下:

AutoTestPlatform/

    __init__.py

    models.py

   templatetags/

        __init__.py

        website_template_tags.py

    views.py

 

website_template_tags.py

# -*- encoding:utf-8 - *-

 

__author__ = 'shouke'

 

from django import template

from django.conf import settings

 

register = template.Library() # 注册tag

 

@register.simple_tag # 装饰器表名函数是一个标签,tag类型中的一种

@register.tag('user_name')

def get_username(session):

    username = session.get('username')

    return username

 

说明:

@register.simple_tag # 表名函数是一个tag,类型为Simple tag

 

@register.tag('user_name') #注册标签为模块的Library实例,name为模板标签名,该参数如果为空,则默认使用函数名称为模板标签名称

 

 

步骤2

html模板中使用自定义tag

 

{%  loadwebsite_template_tags %}

 

……

<p>user name is {% user_namerequest.session %}</p>

……

 

 

 

参考链接:

https://docs.djangoproject.com/en/2.1/howto/custom-template-tags/

 

posted @   授客  阅读(378)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示