使用方法
在模板里面調用python內置的不帶參數的方法,只要在對象的后面加 .fun
如何在模板中調用帶參數的自定義函數:
- 在app中創建templatetags模塊
- 創建任意 .py 文件,如:xx.py
- 在xx.py中編寫函數
3.1 導入fromdjangoimporttemplate實現一個對象register=template.Library()3.2,
3.2 編寫一個函數 並在函數前加上裝飾器 @register.filteer 或 @register.simple_tag - 在要引入此函數的html文件頂部加上{% load xx%} 導入xx模塊
- 使用函數屬於@register.filter的函數調用{{"value" | fun:參數}},可以在if else中做判斷條件
- 使用函數屬於@register.simple_tag的函數調用{%fun '參數1' '參數2' '參數3'%},不可以在if else中做判斷條件
- 一定要在注冊使用此函數的app
需要注意:
- filter函數單獨使用時必須至少有一個傳入模板的對象作為參數,比如<h1>{{ st |fun1 }}</h1>
- filter最多只要兩個參數<h1>{{ 參數1 |fun1:參數2 }}</h1>,且冒號后面不能有空格
- simple_tag函數的參數如函數名用空格分開,單個空格和多個空格都可以
-
{% if st|fun1 %} <p>happy</p> {% endif %} 作為條件語句不用加兩個花括號
