flask第二十四篇——模板【6】自定义过滤器
生活随笔
收集整理的這篇文章主要介紹了
flask第二十四篇——模板【6】自定义过滤器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
請關注孟船長的公眾號:自動化測試實戰
?
大家想了解其他過濾器可以參考這里:
http://jinja.pocoo.org/docs/dev/templates/#builtin-filters
---------
自定義過濾器
這里要用到裝飾器template_filter('過濾器名字'),代碼:
flaskDemo.py
# coding: utf-8from flask import Flask, render_template import flaskapp = Flask(__name__) # type: Flask app.debug = True@app.route('/') def login():context = {"user": {"name": "Warren","age": 18,"gender": None,"comment": u'<script>alert("彈出框")</script>'},"subject": ["math", "Chinese", "biology"],"num": '3',"upper": "I AM A MAN","lower": "i am a boy","repl": "A, A, A, B","title": u'life is short, I choose Python',"space": " abc ","tags": u"<p>這是一個HTML標簽</p>"}return render_template('index.html', **context)@app.template_filter('del') def mydel(value, word):return value.replace(word, '')if __name__ == '__main__':app.run()?
index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>過濾器</title> </head> <body><p>絕對值:{{ user.age | abs }}</p><p>默認值:{{ user.gender or 'male'}}</p><p>轉義:{{ user.comment }}</p><p>格式化:{{ "姓名:%s,年齡:%s" | format(user.name, user.age) }}</p><p>最后一個值:{{ subject | last }}</p><p>第一個值:{{ subject | first }}</p><p>序列的長度:{{ subject | length }}</p><p>拼接:{{ subject | join(', ') }}</p><p>轉換成整型:{{ num | int }}</p><p>轉換成小寫:{{ upper | lower }}</p><p>轉換成小寫:{{ lower | upper }}</p><p>相同的全部替換:{{ repl | replace('A', 'HERO') }}</p><p>只替換一個:{{ repl | replace('A', 'HERO', 1) }}</p><p>截取字符串:{{ title | truncate(9) }}</p><p>截斷單詞:{{ title | truncate(9, true) }}</p><p>截取前后空格:{{ space | trim }}</p><p>刪除所有HTML標簽:{{ tags | striptags }}</p><p>自定義過濾器del:{{ repl | del('A') }}</p> </body> </html>
?
我們運行代碼,發現A全部被刪掉了,只剩下逗號:
?
上面的mydel就是一個自定義的過濾器啦,是不是很簡單呢~
?
轉載于:https://www.cnblogs.com/captainmeng/p/8794923.html
總結
以上是生活随笔為你收集整理的flask第二十四篇——模板【6】自定义过滤器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HashMap 和 HashTable
- 下一篇: Bootstrap 表格