- Jinja2:是 Python 下一个被普遍应用的模板引擎,是由Python实现的模板语言
- Flask提供的 render_template 函数封装了该模板引擎
- render_template 函数的第一个参数是模板的文件名,后面的参数都是键值对,表示模板中变量对应的真实值
- 使用时导入:from flask import Flask,render_template
能够直接做为返回值return render_template('flask_jinja2_01.html')
- 使用
- 模板内使用{{}} 来表示变量名,这种 {{}} 语法叫作变量代码块 {{dict['key']}}
- 用 {%%} 定义的控制代码块,好比循环或者if语句
if/else if /else / endif
for / endfor
- 使用 {# #} 进行注释
- 过滤器
- 过滤器的使用方式为:变量名 | 过滤器
{{variable | filter_name(*args)}}
- 若是没有任何参数传给过滤器,则能够把括号省略掉
- 过滤器支持链式调用:{{ "hello world" | reverse | upper }}
- 自定义过滤器
- 经过Flask应用对象的 add_template_filter 方法:app.add_template_filter(方法函数名,‘自定义的过滤器名字’)
- 经过装饰器装饰过滤器方法:@app.template_filter('自定义的过滤器名字')
- if语句 过滤器能够用在语句中
{%if xxx %}
<a href='#'>xxx</a>
{% else %}
<a href='#'>xxx</a>
{% endif %}
{% for item in items %}
<div>
<h1>{{xxxx }}</h1>
<p>{{ xxxx }}</p>
</div>
{% endfor %}