Flask模板引擎中的For循环

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是,

Python烧瓶中的for循环