Falsk 與 Django 過(guò)濾器的使用與區(qū)別詳解
1,flask中內(nèi)置的過(guò)濾器模板中常用方法:
{#過(guò)濾器調(diào)用方式{{變量|過(guò)濾器名稱(chēng)}} #}
<!-- safe過(guò)濾器,可以禁用轉(zhuǎn)義 -->
{{'<strong>hello</strong>'|safe}}
<br/>
大寫(xiě)轉(zhuǎn)小寫(xiě)
{{'HELLO'|lower}}
小寫(xiě)轉(zhuǎn)大寫(xiě)
{{'hello'|upper}}
<br/>
字符串反轉(zhuǎn)
{{'abc'|reverse}}
首字母大寫(xiě)
{{'james'|capitalize}}
過(guò)濾HTML標(biāo)簽
{{'<em>apple</em>'| striptags}}
<br/>
只顯示list首個(gè)元素
{{[100,95,55,81]|first}}
只顯示list最后一個(gè)元素
{{[100,95,55,81]|last}}
顯示list的長(zhǎng)度
{{[100,95,55,81]|length}}
list里所有元素求和
{{[100,95,55,81]|sum}}
list進(jìn)行排序
{{[100,95,55,81]|sort}}
format:格式化輸出
{{ '%s is %d' | format('name',17) }}
<br/>
對(duì)語(yǔ)句塊進(jìn)行過(guò)濾
{% filter upper%}
qwedr,tyuio,piuytre,rtyuiuyt
afaife oifafa, afaf
{%endfilter%} <br/>
鏈?zhǔn)秸{(diào)用過(guò)濾器
{{'abc'|reverse|upper}}
<br><br>
自定義過(guò)濾器
{{100|my_filter}}
自定義過(guò)濾器(后端視圖函數(shù))
@app.template_filter("my_filter")
#自定義過(guò)濾器
def my_filter(val):
return '$' + str(val)
2,django中內(nèi)置的過(guò)濾器模板中常用方法:
{#通過(guò)內(nèi)置過(guò)濾器實(shí)現(xiàn)加減法#}
{{test_int | add:10}}
{{list.0}}
<br>
{%for i in list%}
{{i}}
{#打印索引 從1開(kāi)始的計(jì)數(shù)器#}
{{forloop.counter}}
{#打印數(shù)組索性#}
{{forloop.counter0}}
{#倒序索引#}
{{forloop.revcounter}}
<br>
{%endfor%}
<br>
{% for i in dict%}
{#取首位和末尾 first last#}
姓名:{{i.name |first}} 年齡:{{i.age}}
{%endfor%}
<br>
{#大寫(xiě)小寫(xiě)#}
{{'jack' | upper | lower}}
{#返回長(zhǎng)度#}
{{'123456'| length}}
{#截?cái)嗖僮?}
{{content | truncatechars:10}}
截?cái)鄦卧~{{content | truncatewords:2}}
{# 格式化日期#}
{{dt | date:'Y-m-d H:i:s'}}
自定義過(guò)濾器(后端視圖函數(shù))
首先在工程文件的同名配置文件下創(chuàng)建templatetags文件夾,建立myfiler.py用來(lái)自定義過(guò)濾器
例:
from django import template #注冊(cè)過(guò)濾器對(duì)象 register = template.Library() #自定義過(guò)濾器 #通過(guò)裝飾器的方式來(lái)注冊(cè)自定義過(guò)濾器 @register.filter def my_str(val): return "$" +str(val) #定義一個(gè)雙參數(shù)過(guò)濾器 @register.filter def my_str_two(val,p1): return val + p1 #定義一個(gè)多參數(shù)的過(guò)濾器 #注冊(cè)過(guò)濾器的時(shí)候,需要注冊(cè)SIMPLE_TAG @register.simple_tag def my_str_many(val,p1,p2): return val + p1 + p2 #定義一個(gè)取余數(shù)的過(guò)濾器 @register.filter def get_line(val): return int(val) % 2
在templates文件夾中模板文件中導(dǎo)入
{#導(dǎo)入過(guò)濾器文件#}
{% load myfilter %}
{#導(dǎo)入過(guò)濾器文件#}
{% load my_filter %}
{{test_str | my_str}}
{# 兩個(gè)參數(shù)進(jìn)行調(diào)用#}
{{'你好' | my_str_two:"不好"}}
{#調(diào)用多參數(shù)的過(guò)濾器#}
{% my_str_many '你好' '不好' '啊' %}
{{test_list | length}}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在Django框架中自定義模板過(guò)濾器的方法
- Django框架模板語(yǔ)言實(shí)例小結(jié)【變量,標(biāo)簽,過(guò)濾器,繼承,html轉(zhuǎn)義】
- Django自定義模板過(guò)濾器和標(biāo)簽的實(shí)現(xiàn)方法
- 詳解Django中的過(guò)濾器
- 深入理解Django的自定義過(guò)濾器
- 詳解django中自定義標(biāo)簽和過(guò)濾器
- django 創(chuàng)建過(guò)濾器的實(shí)例詳解
- Django自定義過(guò)濾器定義與用法示例
- Django 過(guò)濾器匯總及自定義過(guò)濾器使用詳解
- django 自定義過(guò)濾器的實(shí)現(xiàn)
- django 自定義過(guò)濾器(filter)處理較為復(fù)雜的變量方法
- Python Django模板之模板過(guò)濾器與自定義模板過(guò)濾器示例
相關(guān)文章
以windows service方式運(yùn)行Python程序的方法
這篇文章主要介紹了以windows service方式運(yùn)行Python程序的方法,可實(shí)現(xiàn)將Python程序變成windows服務(wù)的功能,需要的朋友可以參考下2015-06-06
python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能
這篇文章主要介紹了python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
python實(shí)現(xiàn)web方式logview的方法
這篇文章主要介紹了python實(shí)現(xiàn)web方式logview的方法,涉及Python基于web模塊操作Linux命令的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
使用Python實(shí)現(xiàn)視頻封面批量下載器
在視頻網(wǎng)站上,每個(gè)視頻都有一個(gè)獨(dú)特的封面圖像,本文主要為大家詳細(xì)如何使用Python編寫(xiě)一個(gè)視頻封面批量下載器,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
使用Keras構(gòu)造簡(jiǎn)單的CNN網(wǎng)絡(luò)實(shí)例
這篇文章主要介紹了使用Keras構(gòu)造簡(jiǎn)單的CNN網(wǎng)絡(luò)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
python實(shí)現(xiàn)MongoDB的雙活示例
本文主要介紹了python實(shí)現(xiàn)MongoDB的雙活示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

