Django Template层之自定义tag

 

接口测试

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/

 

文章来源于网络 ,如有侵权请联系站长QQ61910465删除

本文版权归qu快排seo www.sEoguRuBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ√61910465