1. 程式人生 > >django自定義模板和過濾器

django自定義模板和過濾器

-自定義過濾器
            -1 先app是不是已經在setting中註冊
            -2 在app下建立一個templatetags(****名字不能變***)的資料夾(模組)
            -3 在模組下建立一個py檔案,名字隨意:mytag.py
            -4 # 第一步,匯入template
               from django.template import Library
               # 第二步,定義一個叫register的變數=template.Library()
               register = Library()
            
-5 寫一個函式,用@register.filter(name='yyy')裝飾一下(可以指定別名) def str_add(str1, str2): #一定要有返回值 # 業務邏輯很複雜 return str1 + str2 -6 在模板裡:(新定定義的標籤,過濾器,都要重啟程式) -{% load mytag %} -{{'lqz'|str_add:'nb'}} -自定義標籤:
-1-4:前4步,根過濾器的定義完全一樣 -5 只是裝飾器不一樣 @register.simple_tag() def add_nb(value): return value+'nb' -6 在模板裡:(多個引數,以空格區分) -{% load mytag %} -{% add_nb 'lqz'%}
from django import template

register = template.Library()



@register.filter(name 
= 'yyy') def str_add(str1,str2): #業務邏輯可以很複雜 return str1 + str2 @register.simple_tag() def add_nb(value): return value+'hahah' @register.simple_tag() def add_3nb(value1,value2,value3): return value1+value2+value3+'hahah'