1. 程式人生 > >django模板語言中的函式

django模板語言中的函式

使用方法

在模板裡面呼叫python內建的不帶引數的方法,只要在物件的後面加   .fun

如何在模板中呼叫帶引數的自定義函式:

  1. 在app中建立templatetags模組
  2. 建立任意 .py 檔案,如:xx.py       
  3. 在xx.py中編寫函式
    3.1  匯入  fromdjango importtemplate 實現一個物件 register =template.Library()3.2,  
    3.2 編寫一個函式 並在函式前加上裝飾器  @register.filteer   或  @register.simple_tag
  4. 在要引入此函式的html檔案頂部加上{% load xx%} 匯入xx模組
  5. 使用函式屬於@register.filter的函式呼叫{{"value" | fun:引數}},可以在if  else中做判斷條件
  6. 使用函式屬於@register.simple_tag的函式呼叫{%fun '引數1' '引數2' '引數3'%},不可以在if else中做判斷條件
  7. 一定要在註冊使用此函式的app

需要注意:

  • filter函式單獨使用時必須至少有一個傳入模板的物件作為引數,比如<h1>{{ st |fun1 }}</h1>
  • filter最多隻要兩個引數<h1>{{ 引數1 |fun1:引數2 }}</h1>,且冒號後面不能有空格
  • simple_tag函式的引數如函式名用空格分開,單個空格和多個空格都可以
  • {% if  st|fun1  %}
    <p>happy</p>
    {% endif %} 作為條件語句不用加兩個花括號