Django自定義模板標簽和過濾器
阿新 • • 發佈:2018-03-22
註冊 rar 參考資料 AD return mar load ... cnblogs
inclusion_tag()
在app中新建一個templatetags包(名字固定,不能變,只能是這個),
和views.py、models.py等文件處於同一級別目錄下。
這是一個包!不要忘記創建__init__.py文件以使得該目錄可以作為Python的包
1.首先,編寫Python函數,templatetags/my_tags.py
from django import template register = template.Library() register = Library() # 調用Library對象的inclusion_tag()裝飾器方法創建並註冊Inclusion標簽 @register.inclusion_tag("stark/form.html") # 接收一個form參數 return數據給裝飾器內的前端頁面 def get_form(form): ... ... return {"form":form}
2.接下來,創建用於標簽渲染的模板stark/form.html
<ul>
{% for i in form%}
<li> {{ i }} </li>
{% endfor %}
</ul>
3.帶數據模板的使用方法
{% load my_tags %}
...
{% get_form form %}
流程:
步驟3中的前端接收一個form 並將form傳給前面的get_form作為參數
函數運行完又生產一個form傳遞給裝飾器內的前端頁面展示
參考資料:自定義標簽
Django自定義模板標簽和過濾器