Django零基礎入門之自定義過濾器及模板中的使用_第1頁
Django零基礎入門之自定義過濾器及模板中的使用_第2頁
Django零基礎入門之自定義過濾器及模板中的使用_第3頁
Django零基礎入門之自定義過濾器及模板中的使用_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第Django零基礎入門之自定義過濾器及模板中的使用通過傳遞一個字符串str1給模板,在模板中使用過濾器對其進行變形。

4.模板文件編寫(使用內置過濾器):

(templates/ceshi/test1.html文件)

!DOCTYPEhtml

htmllang="en"

head

metacharset="UTF-8"

titleTitle/title

/head

body

原字符串:{{str1}}br

內置過濾器的使用:{{str1|lower}}

/body

/html

5.效果展示(lower過濾器功能:將變量全部變?yōu)樾懀?/p>

(3)自定義過濾器的使用:

(common_extras.py文件)

注意:自定義過濾器必須用Library().filter來進行裝飾,裝飾后的函數(shù),才能當作過濾器來使用!

#用于編寫自定義過濾器及標簽

fromdjangoimporttemplate

register=template.Library()

@register.filter#加此裝飾器就可以理解為注冊此自定義過濾器。就可以使用了!

defmylower(value):#value接收變量

returnvalue.lower()

講解:

django.template.Library.filter()

1.Library.filter()方法需要兩個參數(shù):

a.過濾器的名稱(一個字符串對象)

b.編譯的函數(shù)–一個Python函數(shù)(不要把函數(shù)名寫成字符串)

2.可以把register.filter()用作裝飾器(常用方法,本文也是這樣使用?。?

3.如果聲明name參數(shù),Django將使用nam參數(shù)的值作為過濾器的名字。例如:@register.filter(name=“l(fā)owermy”),此時在使用這個自定義過濾器,就需要使用lowermy這個名字。

4.沒有聲明name參數(shù),Django將使用函數(shù)名作為過濾器的名字。

下面是不常用的方法:

defmycut(value,arg):

returnvalue.replace(arg,"")

register.filter("mycut",mycut)

(4)模板中使用自定義過濾器:

(templates/ceshi/test1.html文件)

注意:在模板中必須用{%loadname%}來引入自定義過濾器函數(shù)所在的py文件,name是py文件的名字。自定義過濾器的使用方法同內置過濾器一樣!

(5)效果展示:

第二個——通過自定義過濾器實現(xiàn)內置過濾器cut?。ㄓ袇?shù))

(1)更改視圖函數(shù):

(ceshi/views.py文件)

(2)更改前端模板——使用內置過濾器cut:

效果展示(cut過濾器功能:將指定參數(shù)變?yōu)榭兆址?/p>

(3)自定義過濾器的使用:

(common_extras.py文件)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論