Django 五 自定義過濾器

2021-09-26 06:03:57 字數 1799 閱讀 8196

新建資料夾common,在common資料夾下建__init__.py檔案。在common資料夾下新建資料夾templatetags,在templatetags資料夾下新建__init__.py檔案。

在templatetags下新建self_defined.py檔案

from django import template

register = template.library()

@register.filter

def mylower(attr):

return attr.lower()

在html檔案開頭載入函式檔案

}

from django import template

from datetime import datetime

register = template.library()

@register.******_tag(takes_context=true)

def current_time(context):

str1 = context.get('ts')

return datetime.now().strftime(str1)

檢視函式

ts = '%y-%m-%d %h:%m:%s %a'

def test(request):

return render(request,'blog/test.html',

context=)

html檔案中呼叫

from django import template

from datetime import datetime

register = template.library()

@register.******_tagtr

def current_time(attr):

return datetime.now().strftime(attr)

檢視函式

ts = '%y-%m-%d %h:%m:%s %a'

def test(request):

return render(request,'blog/test.html',

context=)

html檔案中呼叫

當html頁面中存在大量格式類似但內容不同的標籤組時,可以使用包含標籤代替

新建tags.html檔案

@register.inclusion_tag('tag.html')

def show(attr):

return

def test(request):

return render(request,'blog/test.html',

context=)

開頭

@register.inclusion_tag('tag.html',takes_context=true)

def show(context):

attr = context.get(『xx』)

return

頁面中

開頭

Django自定義過濾器

django中提供了很多的過濾器和標籤,具體可見django官網,例如 upper 化為大寫字母 lower 化為小寫字母 autoescape 自動轉義 block 模板繼承 csrf token 防止跨站偽造請求 extends 模板繼承 filter 過濾器 等 內建的過濾器雖然好用,但是我們...

Django自定義過濾器

為什麼要自定義過濾器?django中雖然已經內建了很多過濾器,但是並不能滿足我們的日常開發,所以我們需要自定義過濾器。在一切配置好了之後,然後在article中新建乙個名為templatetags的package。注意 必須是乙個包,並且包的名字也必須為templatetags package和資料...

django 自定義過濾器

然後在extratags.py檔案中新增自定義的過濾器 from django import template register template.library register.filter name cut 過濾器在模板中使用時的name def mycut value,arg 把傳遞過來的引...