天天看點

Django Template層之自定義tag

Django Template層之自定義tag

by:授客 QQ:1033553122

測試環境

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/

作者:授客

QQ:1033553122

全國軟體測試QQ交流群:7156436

Git位址:https://gitee.com/ishouke

友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!

作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!

           微信打賞                       

支付寶打賞                  全國軟體測試交流QQ群  

Django Template層之自定義tag
Django Template層之自定義tag
Django Template層之自定義tag