博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jinja2模板过滤器
阅读量:4190 次
发布时间:2019-05-26

本文共 3896 字,大约阅读时间需要 12 分钟。

目录


 

过滤器的作用

Jinja2模板中的过滤器起到一个简单的渲染作用,它可以把接收到的数据经过简单的处理重新显示。

 

如何添加过滤器

在HTML模板中的可变参数后,添加管道符和过滤器名字即可完成添加过滤器。例如下面的HTML代码,可变参数name后有一个capitalize过滤器。(⚠️注意:过滤器名称是不能自定义的)capitalize过滤器可以将接收的字符串首字母变为大写,其余字母变为小写。

{

{name | capitalize}}

 

代码展示

HTML代码:

这里使用了两个过滤器capitalize和upper。upper过滤器的作用是将所有字母转换成大写。capitalize过滤器的作用是将首字母大写,其余字母转换成小写。

    
show Jinja2 filter

{

{name | capitalize}}

{

{name2 | upper}}

Python脚本:

分别向模板中定义的两个参数name和name2传入一个相同的字符串。

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "Python is FUN."    return flask.render_template("filter.html",                                 name=name,                                 name2=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

 

运行结果

可以看出过滤器对字符串显示重新做了修改和调整。

 

过滤器介绍

1. safe

safe过滤器在渲染时不转义,即一个没有任何效果作用的过滤器。

HTML代码:

    
show Jinja2 filter

{

{name | safe}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "Python is FUN."    return flask.render_template("filter.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

2. capitalize

capitalize过滤器将字符串的首字母大写,其余字母转换成小写。如果字符串的首字母是非英文字母,则不进行首字母大小写转换,仅仅将字符串中其他英文字母转换成小写。

HTML代码:

    
show Jinja2 filter

{

{name | capitalize}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "@python is FUN."    return flask.render_template("filter.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

3. lower

将字符串中的英文字母转换成小写。

HTML模板:

    
show Jinja2 filter

{

{name | lower}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "@python is FUN."    return flask.render_template("filter.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

4. upper

将字符串中的英文字母转换成大写。

HTML模板:

    
show Jinja2 filter

{

{name | upper}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "@python is FUN."    return flask.render_template("filter.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

5. title

将字符串中的每个单词的首字母大写,并将单词的其他字母变成小写。

HTML模板:

    
show Jinja2 filter

{

{name | title}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "@python is FUN."    return flask.render_template("show.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

6. trim

trim去掉字符串的前后空格。

HTML模板:

    
show Jinja2 filter

{

{name | trim}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@ app.route("/")def index():    name = "            @python is FUN.         "    return flask.render_template("show.html",                                 name=name)if __name__ == '__main__':    webbrowser.open("http://127.0.0.1:8890")    app.run(host="0.0.0.0", port="8890")

运行结果:

 

7. striptags

striptags去掉字符串中所有的HTML标签。

HTML模板:

    
show Jinja2 filter

{

{name | striptags}}

Python脚本:

import flaskimport webbrowserapp = flask.Flask(__name__)@app.route("/")def index():    name = "

python is FUN.

" param = { "name": name } return flask.render_template("show.html", **param)if __name__ == '__main__': webbrowser.open("http://127.0.0.1:8890") app.run(host="0.0.0.0", port="8890")

运行结果:

转载地址:http://yfsoi.baihongyu.com/

你可能感兴趣的文章
Exchange磁盘性能优化
查看>>
Apusic应用服务器的性能调节_JVM优化
查看>>
Apache重负荷服务器应如何优化?
查看>>
Windows NT/2000服务器优化
查看>>
Windows 2003系统优化技巧
查看>>
Linux NFS服务器性能优化
查看>>
FREEBSD升级及优化全攻略
查看>>
RISC架构服务器开源运动将促使市场需求提升
查看>>
IT治理的成功要诀
查看>>
中化CIO彭劲松:IT治理让我明明白白做事
查看>>
中国惠普公司企业计算及专业服务集团卫东:IT治理最重要就是保证技术与业务有效结合
查看>>
【MVP】 Wenzhong Huang 北大硕士,微软MVP,微软嵌入式讲师,MCSE
查看>>
解析ERP部署的三角模型
查看>>
百感交集:一个IT人应该如何面对失业?
查看>>
服装经营中关于直销、加盟、代理和联营的区别
查看>>
盯上好男人 服装业B2C暗战
查看>>
局域网内部管理行为应该如何控制?
查看>>
CIO--成,获得认可;败,危及部门生存
查看>>
ERP专家童継龙:ERP从神秘少女变成邻家小妹
查看>>
Palm之祭
查看>>