我在Jinja2模板中有一个表单。这就是我想要做的:
做这件事最好的方法是什么?例如,我的表单中有一个<select>
输入,如下所示:
<select id="shift_selected" name="shift_selected">
{% for shift in Shifts %}
<option value="{{ shift }}" {{ 'selected' if shift == selected_shift }}>{{ shift }}</option>
{% endfor %}
</select>
现在,要在表单提交后重新呈现页面,
args‘’selected_shift‘= self.request.get("selectedShift")
template.render(args)
处理程序实质上接收一些表单值中的数据,并发送与模板变量值相同的数据。有没有更好的方法。如果做了很长的一段时间,这种方法是相当乏味的。
发布于 2016-02-03 21:50:51
实际上,您甚至可以将request
对象作为param传递给Jinja模板。或者编写一个函数,将request
中的所有GET或POST参数复制到Jinja参数。
args['request'] = self.request
template.render(args)
<select id="shift_selected" name="shift_selected">
{% for shift in request.get('selectedShift') %}
<option value="{{ shift }}" {{ 'selected' if shift == selected_shift }}>{{ shift }}</option>
{% endfor %}
</select>
https://stackoverflow.com/questions/35173383
复制