Html 在jinja框架中存储表单信息

Html 在jinja框架中存储表单信息,html,web,flask,web-applications,jinja2,Html,Web,Flask,Web Applications,Jinja2,我正在python flask框架中开发一个产品推荐系统 现在,这个display_recommendations.html将显示算法从数据库中选择的“最佳”10种产品。在用户通过选中html表单中的复选框进行选择后,我希望我可以在此html模板中存储一个变量,然后将其传递给submit_choices(),当用户单击“submit my choices and Play Other Round!”按钮时,它就是事件处理程序 然后,submit_choices()函数将更新数据库(调整信心分数、

我正在python flask框架中开发一个产品推荐系统

现在,这个display_recommendations.html将显示算法从数据库中选择的“最佳”10种产品。在用户通过选中html表单中的复选框进行选择后,我希望我可以在此html模板中存储一个变量,然后将其传递给submit_choices(),当用户单击“submit my choices and Play Other Round!”按钮时,它就是事件处理程序

然后,submit_choices()函数将更新数据库(调整信心分数、更新用户偏好等)

{%extends'layout.html%}
{%block body%}
欢迎{{session.username}}!
您可以选择您喜欢的枕头和不喜欢的枕头,然后点击提交或返回仪表板

身份证件 价格 形象 {%set likes='100%} {%图片中的图片%} {{pic.idx} {{pic.price}} 我喜欢! 不 {%endfor%} {%endblock%}
您需要将复选框和提交按钮全部放在一个表格中:

<form>
    <input type="checkbox">
    <input type="checkbox"> 
    <input type="submit">
</form>

首先,你必须按照@lciamp所说的去做。对于Jinja2部分,我将用
替换

我喜欢
需要更改,
like
只能用于一个字段(它们必须是唯一的,因为这是服务器检查每个字段的方式)

然后,假设服务器上的
submit\u choices()
是Python语言,您应该添加一个
@app.route
装饰器

示例(
[abc]
是您在顶部写的内容):

如果您有任何问题,请参阅

希望我能帮上忙。

你说的“在这个html模板中存储变量”是什么意思?是否要将表单数据提交到submit_choices()事件处理程序?您需要将复选框和submit按钮放在1个表单中,而不是像以前那样放在3个表单中,并且像现在一样只放在表单中的按钮中。
<form>
    <input type="checkbox">
    <input type="checkbox"> 
    <input type="submit">
</form>
@app.route('/[abc]', methods=['POST'])
def submit_choices():
    #Whatever you put here
    #To access the form data use:
    request.values.get('[whatever comes after the "for" in the label]')