Falsk 與 Django 過濾器的使用與區(qū)別詳解
更新時間:2019年06月04日 08:24:23 作者:Xcsg
這篇文章主要介紹了Falsk 與 Django 過濾器的使用與區(qū)別詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
1,flask中內置的過濾器模板中常用方法:
{#過濾器調用方式{{變量|過濾器名稱}} #}
<!-- safe過濾器,可以禁用轉義 -->
{{'<strong>hello</strong>'|safe}}
<br/>
大寫轉小寫
{{'HELLO'|lower}}
小寫轉大寫
{{'hello'|upper}}
<br/>
字符串反轉
{{'abc'|reverse}}
首字母大寫
{{'james'|capitalize}}
過濾HTML標簽
{{'<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/>
鏈式調用過濾器
{{'abc'|reverse|upper}}
<br><br>
自定義過濾器
{{100|my_filter}}
自定義過濾器(后端視圖函數)
@app.template_filter("my_filter")
#自定義過濾器
def my_filter(val):
return '$' + str(val)
2,django中內置的過濾器模板中常用方法:
{#通過內置過濾器實現加減法#}
{{test_int | add:10}}
{{list.0}}
<br>
{%for i in list%}
{{i}}
{#打印索引 從1開始的計數器#}
{{forloop.counter}}
{#打印數組索性#}
{{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'}}
自定義過濾器(后端視圖函數)
首先在工程文件的同名配置文件下創(chuàng)建templatetags文件夾,建立myfiler.py用來自定義過濾器
例:
from django import template #注冊過濾器對象 register = template.Library() #自定義過濾器 #通過裝飾器的方式來注冊自定義過濾器 @register.filter def my_str(val): return "$" +str(val) #定義一個雙參數過濾器 @register.filter def my_str_two(val,p1): return val + p1 #定義一個多參數的過濾器 #注冊過濾器的時候,需要注冊SIMPLE_TAG @register.simple_tag def my_str_many(val,p1,p2): return val + p1 + p2 #定義一個取余數的過濾器 @register.filter def get_line(val): return int(val) % 2
在templates文件夾中模板文件中導入
{#導入過濾器文件#}
{% load myfilter %}
{#導入過濾器文件#}
{% load my_filter %}
{{test_str | my_str}}
{# 兩個參數進行調用#}
{{'你好' | my_str_two:"不好"}}
{#調用多參數的過濾器#}
{% my_str_many '你好' '不好' '啊' %}
{{test_list | length}}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
以windows service方式運行Python程序的方法
這篇文章主要介紹了以windows service方式運行Python程序的方法,可實現將Python程序變成windows服務的功能,需要的朋友可以參考下2015-06-06

