日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【Flask】jinja2过滤器的使用

發(fā)布時(shí)間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flask】jinja2过滤器的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用情景…

遇到一個(gè)bug:在數(shù)據(jù)庫(kù)中存的數(shù)據(jù),取出到前端后自帶換行,(導(dǎo)致js中的引號(hào)、分號(hào)直接被換到下一行),js無(wú)法正常讀取數(shù)據(jù)。猜測(cè)可能是在數(shù)據(jù)錄入的時(shí)候輸入了什么特殊符號(hào),但是把數(shù)據(jù)刪掉重新錄入讀取出來(lái)之后還是自帶換行(在python后臺(tái)輸出也是,前端也是),于是想出使用jinja模板中的trim,截掉前后的空白字符,問題暫時(shí)解決。

示例:

{% for node in result %}var obj = new Object();obj.id ={{ node.id }};obj.pId ={{ node.pid }};obj.text = '{{ node.name|trim }}'; // 取出的數(shù)據(jù)含有換行 使用trim過濾obj.attributes = {};obj.attributes['filename'] = '{{ node.filename }}';obj.attributes['url'] = '{{ node.url }}';zNodes.push(obj); {% endfor %}

Jinja模板的過濾器

過濾器是通過|符號(hào)進(jìn)行使用的,例如:{{ name|length }}:將返回name的長(zhǎng)度。

Jinja2擁有許多過濾器:

abs(value):返回一個(gè)數(shù)值的絕對(duì)值。示例:-1|abs

default(value,default_value,boolean=false):如果當(dāng)前變量沒有值,則會(huì)使用參數(shù)中的值來(lái)代替。
示例:name|default('xiaotuo')
——如果name不存在,則會(huì)使用xiaotuo來(lái)替代。boolean=False默認(rèn)是在只有這個(gè)變量為undefined的時(shí)候才會(huì)使用default中的值,如果想使用python的形式判斷是否為false,則可以傳遞boolean=true。也可以使用or來(lái)替換。

escape(value)或e:轉(zhuǎn)義字符,會(huì)將<、>等符號(hào)轉(zhuǎn)義成HTML中的符號(hào)。示例:content|escape或content|e。

first(value):返回一個(gè)序列的第一個(gè)元素。示例:names|first

format(value,*arags,**kwargs):格式化字符串。比如:
{{ "%s" - "%s"|format('Hello?',"Foo!") }}
將輸出:Helloo? - Foo!

last(value):返回一個(gè)序列的最后一個(gè)元素。示例:names|last。

length(value):返回一個(gè)序列或者字典的長(zhǎng)度。示例:names|length。

join(value,d=u''):將一個(gè)序列用d這個(gè)參數(shù)的值拼接成字符串。

safe(value):如果開啟了全局轉(zhuǎn)義,那么safe過濾器會(huì)將變量關(guān)掉轉(zhuǎn)義。示例:content_html|safe。

int(value):將值轉(zhuǎn)換為int類型。

float(value):將值轉(zhuǎn)換為float類型。

lower(value):將字符串轉(zhuǎn)換為小寫。

upper(value):將字符串轉(zhuǎn)換為小寫。

replace(value,old,new): 替換將old替換為new的字符串。

truncate(value,length=255,killwords=False):截取length長(zhǎng)度的字符串。

striptags(value):刪除字符串中所有的HTML標(biāo)簽,如果出現(xiàn)多個(gè)空格,將替換成一個(gè)空格。

trim:截取字符串前面和后面的空白字符。

string(value):將變量轉(zhuǎn)換成字符串。

wordcount(s):計(jì)算一個(gè)長(zhǎng)字符串中單詞的個(gè)數(shù)。

總結(jié)

以上是生活随笔為你收集整理的【Flask】jinja2过滤器的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。