欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Falsk 與 Django 過濾器的使用與區(qū)別詳解

 更新時間:2019年06月04日 08:24:23   作者:Xcsg  
這篇文章主要介紹了Falsk 與 Django 過濾器的使用與區(qū)別詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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進(jìn)行排序
  {{[100,95,55,81]|sort}}
  format:格式化輸出
  {{ '%s is %d' | format('name',17) }}
  <br/>
  對語句塊進(jìn)行過濾
  {% 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)置過濾器實(shí)現(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ù)進(jìn)行調(diào)用#}
  {{'你好' | my_str_two:"不好"}}
  {#調(diào)用多參數(shù)的過濾器#}
  {% my_str_many '你好' '不好' '啊' %}               
  {{test_list | length}}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論