【Django】編寫自定義模板標籤tags 和 過濾器

小亮520cl發表於2017-10-23

django的模板系統自帶了一系列的內建標籤和過濾器,一般情況下可以滿足你的要求,如果覺得需更精準的模板標籤或者過濾器,你可以自己編寫模板標籤和過濾器,然後使用{% load %}標籤使用他們。

程式碼佈局

自定義標籤和過濾器必須依賴於一個django app,也就是說,自定義標籤和過濾器是繫結app的。該app應該包含一個templatetags目錄,這個目錄一個和model.py,views.py在同一個層級,記得在該目錄下建立一個__init__.py檔案一遍django知道這是一個python包。在該目錄下,你可以新建一個python模組檔案,檔名不要和其他app中的衝突就好。例如:

polls/ 
    models.py 
    templatetags/
         __init__.py 
        poll_extras.py 
    views.py

然後在你的模板檔案中你可以這樣使用你的自定義標籤和過濾器:

{% load poll_extras %}

注意事項:

  • 包含templatetags目錄的app一定要在INSTALLED_APPS列表裡面
  • {% load %}load的是模組名,而不是app名
  • 記得使用 from django import template ,register=template.Library()註冊

參考文章:https://my.oschina.net/u/993130/blog/210459

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2146250/,如需轉載,請註明出處,否則將追究法律責任。

相關文章