首页
学习
活动
专区
圈层
工具
发布

Django Template层之自定义tag

Django Template层之自定义tag

by:授客

测试环境

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/

下一篇
举报
领券