Flask带有Jinja模板语言。该模板实质上包含变量以及一些编程逻辑,这些逻辑在进行评估时会以实际值呈现为HTML。变量和/或逻辑放置在标签或定界符之间。
Jinja模板是HTML文件,根据烧瓶惯例,它们位于Flask项目的template文件夹中。
Web应用程序中非常明显的要求是拥有用户列表或任何列表的循环。为列表中的每个新项目添加一个新页面将非常幼稚且难以管理。这是Jinja模板中的for循环有用的地方。
考虑以下示例,
from flask import Flask, render_template
app = Flask(__name__)@app.route("/jinja")
def jinja_test():
return render_template('include_help.html', my_string="Include Help!", my_list=[0,1,2,3,4,5])
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5005)
在上面的示例中,当用户在浏览器中导航到http:// localhost:5005 / jinja时,呈现的网页将顺序显示列表编号。
该列表可能像数字列表,用户列表或个人资料列表一样简单,从而使其变得复杂。
“ include_help.html”的实现方式为
<html>
<head>
<title> Template Example</title>
</head>
<body>
<p>{{my_string}}</p>
<p>Your lucky number is ;) : {{my_list[3]}}</p>
<p>Loop through the list:</p>
<ul>
{% for n in my_list %}
<li>{{n}}</li>
{% endfor %}
</ul>
</body>
</html>
呈现模板时,my_string和my_list替换为从后端代码发送的实际值。然后使用for循环迭代my_list。for循环以{%%}标记内的for开头,以endfor结尾。
运行以上代码后,呈现的html是,