django模板語言中的函式
阿新 • • 發佈:2018-11-06
使用方法
在模板裡面呼叫python內建的不帶引數的方法,只要在物件的後面加 .fun
如何在模板中呼叫帶引數的自定義函式:
- 在app中建立templatetags模組
- 建立任意 .py 檔案,如:xx.py
- 在xx.py中編寫函式
3.1 匯入from
django
import
template
實現一個物件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 %} 作為條件語句不用加兩個花括號