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群