Falsk 與 Django 過濾器的使用與區(qū)別詳解
1,flask中內(nèi)置的過濾器模板中常用方法:
{#過濾器調(diào)用方式{{變量|過濾器名稱}} #} <!-- safe過濾器,可以禁用轉(zhuǎn)義 --> {{'<strong>hello</strong>'|safe}} <br/> 大寫轉(zhuǎn)小寫 {{'HELLO'|lower}} 小寫轉(zhuǎn)大寫 {{'hello'|upper}} <br/> 字符串反轉(zhuǎn) {{'abc'|reverse}} 首字母大寫 {{'james'|capitalize}} 過濾HTML標(biāo)簽 {{'<em>apple</em>'| striptags}} <br/> 只顯示list首個元素 {{[100,95,55,81]|first}} 只顯示list最后一個元素 {{[100,95,55,81]|last}} 顯示list的長度 {{[100,95,55,81]|length}} list里所有元素求和 {{[100,95,55,81]|sum}} list進行排序 {{[100,95,55,81]|sort}} format:格式化輸出 {{ '%s is %d' | format('name',17) }} <br/> 對語句塊進行過濾 {% filter upper%} qwedr,tyuio,piuytre,rtyuiuyt afaife oifafa, afaf {%endfilter%} <br/> 鏈?zhǔn)秸{(diào)用過濾器 {{'abc'|reverse|upper}} <br><br> 自定義過濾器 {{100|my_filter}}
自定義過濾器(后端視圖函數(shù))
@app.template_filter("my_filter") #自定義過濾器 def my_filter(val): return '$' + str(val)
2,django中內(nèi)置的過濾器模板中常用方法:
{#通過內(nèi)置過濾器實現(xiàn)加減法#} {{test_int | add:10}} {{list.0}} <br> {%for i in list%} {{i}} {#打印索引 從1開始的計數(shù)器#} {{forloop.counter}} {#打印數(shù)組索性#} {{forloop.counter0}} {#倒序索引#} {{forloop.revcounter}} <br> {%endfor%} <br> {% for i in dict%} {#取首位和末尾 first last#} 姓名:{{i.name |first}} 年齡:{{i.age}} {%endfor%} <br> {#大寫小寫#} {{'jack' | upper | lower}} {#返回長度#} {{'123456'| length}} {#截斷操作#} {{content | truncatechars:10}} 截斷單詞{{content | truncatewords:2}} {# 格式化日期#} {{dt | date:'Y-m-d H:i:s'}}
自定義過濾器(后端視圖函數(shù))
首先在工程文件的同名配置文件下創(chuàng)建templatetags文件夾,建立myfiler.py用來自定義過濾器
例:
from django import template #注冊過濾器對象 register = template.Library() #自定義過濾器 #通過裝飾器的方式來注冊自定義過濾器 @register.filter def my_str(val): return "$" +str(val) #定義一個雙參數(shù)過濾器 @register.filter def my_str_two(val,p1): return val + p1 #定義一個多參數(shù)的過濾器 #注冊過濾器的時候,需要注冊SIMPLE_TAG @register.simple_tag def my_str_many(val,p1,p2): return val + p1 + p2 #定義一個取余數(shù)的過濾器 @register.filter def get_line(val): return int(val) % 2
在templates文件夾中模板文件中導(dǎo)入
{#導(dǎo)入過濾器文件#}
{% load myfilter %}
{#導(dǎo)入過濾器文件#} {% load my_filter %} {{test_str | my_str}} {# 兩個參數(shù)進行調(diào)用#} {{'你好' | my_str_two:"不好"}} {#調(diào)用多參數(shù)的過濾器#} {% my_str_many '你好' '不好' '啊' %} {{test_list | length}}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在Django框架中自定義模板過濾器的方法
- Django框架模板語言實例小結(jié)【變量,標(biāo)簽,過濾器,繼承,html轉(zhuǎn)義】
- Django自定義模板過濾器和標(biāo)簽的實現(xiàn)方法
- 詳解Django中的過濾器
- 深入理解Django的自定義過濾器
- 詳解django中自定義標(biāo)簽和過濾器
- django 創(chuàng)建過濾器的實例詳解
- Django自定義過濾器定義與用法示例
- Django 過濾器匯總及自定義過濾器使用詳解
- django 自定義過濾器的實現(xiàn)
- django 自定義過濾器(filter)處理較為復(fù)雜的變量方法
- Python Django模板之模板過濾器與自定義模板過濾器示例
相關(guān)文章
基于Python3.6+splinter實現(xiàn)自動搶火車票
這篇文章主要為大家詳細介紹了基于Python3.6+splinter實現(xiàn)自動搶火車票,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09Python中數(shù)字(Number)數(shù)據(jù)類型常用操作
本文主要介紹了Python中數(shù)字(Number)數(shù)據(jù)類型常用操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02解決python3 json數(shù)據(jù)包含中文的讀寫問題
這篇文章主要介紹了解決python3 json數(shù)據(jù)包含中文的讀寫問題,需要的朋友可以參考下2021-05-05python入門學(xué)習(xí)之自帶help功能初步使用示例
這篇文章主要為大家介紹了python入門學(xué)習(xí)自帶help功能初步使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03