zoukankan      html  css  js  c++  java
  • 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/

     

  • 相关阅读:
    2013第49周四开发一定要细心
    2013第49周三IE9文档模式
    2013第49周二要转变
    2013第49周一jsp标签
    2013第48周11月工作小结
    2013第48周六记
    2013第48周五开发日记
    BZOJ 1269 文本编辑器 Splay
    审批流程设计方案-介绍(一)
    Web挖掘技术
  • 原文地址:https://www.cnblogs.com/shouke/p/13351907.html
Copyright © 2011-2022 走看看