欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask中過濾器的使用詳解

 更新時(shí)間:2018年08月01日 09:05:47   作者:skaarl  
這篇文章主要介紹了flask中過濾器的使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

過濾器

過濾器的本質(zhì)就是函數(shù)。有時(shí)候我們不僅僅只是需要輸出變量的值,我們還需要修改變量的顯示,甚至格式化、運(yùn)算等等,而在模板中是不能直接調(diào)用 Python 中的某些方法,那么這就用到了過濾器。

使用方式:

過濾器的使用方式為:變量名 | 過濾器。

{{variable | filter_name(*args)}}

如果沒有任何參數(shù)傳給過濾器,則可以把括號省略掉, flask中過濾器支持鏈?zhǔn)秸{(diào)用

{{variable | filter_name}}

常見內(nèi)建過濾器

字符串操作

  • safe:禁用轉(zhuǎn)義               <p>{{ '<em>hello</em>' | safe }}</p>
  • capitalize:把變量值的首字母轉(zhuǎn)成大寫,其余字母轉(zhuǎn)小寫          <p>{{ 'hello' | capitalize }}</p>
  • lower:把值轉(zhuǎn)成小寫      <p>{{ 'HELLO' | lower }}</p>
  • upper:把值轉(zhuǎn)成大寫       <p>{{ 'hello' | upper }}</p>
  • title:把值中的每個(gè)單詞的首字母都轉(zhuǎn)成大寫 <p>{{ 'hello' | title }}</p>
  • reverse:字符串反轉(zhuǎn)      <p>{{ 'olleh' | reverse }}</p>
  • format:格式化輸出        <p>{{ '%s is %d' | format('name',17) }}</p>
  • striptags:渲染之前把值中所有的HTML標(biāo)簽都刪掉       <p>{{ '<em>hello</em>' | striptags }}</p>
  • truncate: 字符串截?cái)?nbsp;          <p>{{ 'hello every one' | truncate(9)}}</p>

列表操作

  • first:取第一個(gè)元素          <p>{{ [1,2,3,4,5,6] | first }}</p>
  • last:取最后一個(gè)元素       <p>{{ [1,2,3,4,5,6] | last }}</p>
  • length:獲取列表長度       <p>{{ [1,2,3,4,5,6] | length }}</p>
  • sum:列表求和          <p>{{ [1,2,3,4,5,6] | sum }}</p>
  • sort:列表排序            <p>{{ [6,2,3,1,5,4] | sort }}</p>

自定義過濾器

過濾器的本質(zhì)是函數(shù)。當(dāng)模板內(nèi)置的過濾器不能滿足需求,可以自定義過濾器。自定義過濾器有兩種實(shí)現(xiàn)方式:

  • 一種是通過Flask應(yīng)用對象的 add_template_filter 方法
  • 通過裝飾器來實(shí)現(xiàn)自定義過濾器

重要:自定義的過濾器名稱如果和內(nèi)置的過濾器重名,會覆蓋內(nèi)置的過濾器。

需求:添加列表反轉(zhuǎn)的過濾器

方式一

通過調(diào)用應(yīng)用程序?qū)嵗?add_template_filter 方法實(shí)現(xiàn)自定義過濾器。該方法第一個(gè)參數(shù)是函數(shù)名,第二個(gè)參數(shù)是自定義的過濾器名稱:

def do_listreverse(li):
  # 通過原列表創(chuàng)建一個(gè)新列表
  temp_li = list(li)
  # 將新列表進(jìn)行返轉(zhuǎn)
  temp_li.reverse()
  return temp_li

app.add_template_filter(do_listreverse,'lireverse')

方式二

用裝飾器來實(shí)現(xiàn)自定義過濾器。裝飾器傳入的參數(shù)是自定義的過濾器名稱。

@app.template_filter('lireverse')
def do_listreverse(li):
  # 通過原列表創(chuàng)建一個(gè)新列表
  temp_li = list(li)
  # 將新列表進(jìn)行返轉(zhuǎn)
  temp_li.reverse()
  return temp_li

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python機(jī)器學(xué)習(xí)庫scikit-learn:SVR的基本應(yīng)用

    python機(jī)器學(xué)習(xí)庫scikit-learn:SVR的基本應(yīng)用

    這篇文章主要介紹了python機(jī)器學(xué)習(xí)庫scikit-learn:SVR的基本應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python安裝scipy的方法步驟

    python安裝scipy的方法步驟

    在本篇文章里小編給各位分享了關(guān)于python怎么安裝scipy的具體方法和實(shí)例代碼,需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • Python reversed函數(shù)及使用方法解析

    Python reversed函數(shù)及使用方法解析

    這篇文章主要介紹了Python reversed函數(shù)及使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python 使用雙重循環(huán)打印圖形菱形操作

    Python 使用雙重循環(huán)打印圖形菱形操作

    這篇文章主要介紹了Python 使用雙重循環(huán)打印圖形菱形操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Python eval函數(shù)原理及用法解析

    Python eval函數(shù)原理及用法解析

    這篇文章主要介紹了Python eval函數(shù)原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 分享給Python新手們的幾道簡單練習(xí)題

    分享給Python新手們的幾道簡單練習(xí)題

    這篇文章主要給學(xué)習(xí)Python的新手們分享了幾道簡單練習(xí)題,文中給出了詳細(xì)的示例代碼供大家學(xué)習(xí)參考,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Python3.2模擬實(shí)現(xiàn)webqq登錄

    Python3.2模擬實(shí)現(xiàn)webqq登錄

    這篇文章主要介紹了Python模擬實(shí)現(xiàn)webqq登錄的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python實(shí)現(xiàn)的堆排序算法示例

    Python實(shí)現(xiàn)的堆排序算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的堆排序算法,結(jié)合實(shí)例形式分析了堆排序的原理及Python定義與使用堆排序算法的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python astype(np.float)函數(shù)使用方法解析

    Python astype(np.float)函數(shù)使用方法解析

    這篇文章主要介紹了Python astype(np.float)函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例

    python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例

    今天小編就為大家分享一篇python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論