Django自定義模板的simple


Django自定義模板的simple_tag方法,實現自定義函數

自定義simple_tag

步驟:

  1. 在應用目錄下創建templatetags 文件夾,文件夾必須是這個名字
  2. 在templatetags文件夾下創建任意名稱 tags.py 文件
  3. 在創建的py文件中引入如下格式代碼:
<code>from django import template
from django.utils.safestring import mark_safe

# 這裡的register不能隨便修改
register = template.Library()

@register.simple_tag
def zdytags(): # 可以定義任意名稱函
return 123/<code>
  1. 在需要使的模板頭部引入{% load tags %} ,tags是我們創建的tags.py文件名
  2. 直接用模板語言調用函數{% zdytags %} ,如果函數有參數,可以傳函數的參數

自定義filter:

  1. 自定義filter的方法步驟一樣,只需要更改註冊器名為filter,如下:
<code>@register.filter
def zhangzhen(a1,a2):
return a1+a2/<code>
  1. 使用方法與官方提供的方法一樣{{ name|zhangzhen:'tuantuan' }}

備註:最多隻能傳兩個參數

simple_tag與filter優劣對比:

  1. simple_tag方法可以無限傳參,filter最多隻能傳兩個參數
  2. simple_tag使用{% %}模板符,filter使用{{ }}模板符
  3. simple_tag不能使用到模板的條件語句,filter則可以

如果在這裡學到了知識,那麼請關注我或加入圈子一起交流學習,這裡將持續更新關於django的更多好內容。


分享到:


相關文章: