Flask中的Templates
1.什么是模板
模板 , 在Flask 中就是允许响应给用户看的网页
在模板中,允许包含"占位变量"来表示动态的内容
模板最终也会被解析成字符串再响应给客户端,这一过程通常称为"渲染"
Flask中的模板是依赖于 Jinja2 的模板系统
2.模板的设置
默认情况下,Flask会在程序文件夹中的 templates 的子文件夹中搜索模板
默认情况下,需要手动创建 templates 文件夹
3.模板的渲染
作用:在视图中,将模板文件(xx.html)渲染成字符串之后,再响应给客户端浏览器
使用与函数返回时:return render_template('xxx.html')
4.模板中的语法
1.变量:变量是一种特殊的占位符,告诉模板引擎该位置的值是从渲染模板时的数据中获取出来的。
在视图中 :
@app.route('/')
def index():
return render_template('xxx.html',变量1=值1,变量2=值2,..)
return render_template('xxx.html',name='laowang',age=35)
在模板中 :
{{变量名}}
例如:<h1>{{name}}</h1>
2.过滤器
1.什么是过滤器:过滤器是允许在变量输出前改变变量的值
2.语法
{{变量|过滤器}}
Jinja2 模板中常见过滤器:
过滤器名 说明
capitalize 首字符变大写,其他变小写
lower 将值转换为小写
upper 将值转换为大写
title 将值中的每个单词首字符变大写
trim 去掉值两边的空格
@app.route('/02-var') def var(): uname = "my name is zengsf" # 这里的locals()会把你所有的变量都封装成一个对象 print(locals()) return render_template('02-var.html',params = locals())
然后只需要去02-var.html文本中进行调用就可以了
<h1>capitalize:{{params.uname|capitalize}}</h1>