从Flask服务器生成HTML代码
我有一个用Python写的Flask服务器,里面有一个包含一些元素的列表。这个列表里有一些条目。我想用这个列表里的元素生成一个HTML页面。
注意:我正在制作一个应用程序,这个列表里记录了用户购买的所有东西,最后我们需要展示这些购买的东西。我是通过request.form()把它们存储到这个列表里的。
1 个回答
5
你需要使用 flask.render_template
来实现这个功能。
这个函数需要一个位置参数,另外你可以传入任意数量的关键字参数。用法如下:
from Flask import render_template
@yourApp.route('/your/path')
def renderThisPath:
res = render_template('your-jinja2-template-file.html',
some='variables',
you='want',
toPass=['to','your','template'])
return res
然后在你的模板中,你可以这样做:
<html>
<!--head etc-->
<body>
<div>{{ you }}</div>
<div>{{ some }}<span>?</span></div>
<!-- you can iterate on a list to add many items -->
{% for v in toPass %}
<div>{{ v }}</div>
{% endfor %}
</body>
</html>
渲染结果是:
<html>
<!--head etc-->
<body>
<div>want</div>
<div>variables<span>?</span></div>
<!-- you can iterate on a list to add many items -->
<div>to</div>
<div>your</div>
<div>template</div>
</body>
</html>