falsk 與 django 過濾器的使用與區別

1,flask中內置的過濾器模板中經常使用方法:django

{#過濾器調用方式{{變量|過濾器名稱}} #}
    <!-- 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}}

自定義過濾器(後端視圖函數)flask

@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}} &nbsp; 年齡:{{i.age}} {%endfor%} <br> {#大寫小寫#}
    {{'jack' | upper | lower}} {#返回長度#}
    {{'123456'| length}} {#截斷操做#}
    {{content | truncatechars:10}} 截斷單詞{{content | truncatewords:2}} {# 格式化日期#}
    {{dt | date:'Y-m-d H:i:s'}}

自定義過濾器(後端視圖函數)api

首先在工程文件的同名配置文件下建立templatetags文件夾,創建myfiler.py用來自定義過濾器數組

例:app

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}}
相關文章
相關標籤/搜索