gpt4 book ai didi

flask - WTForms:渲染时设置值

转载 作者:行者123 更新时间:2023-12-03 16:40:39 25 4
gpt4 key购买 nike

可能有更好的方法来执行此操作,但我正在尝试使用隐藏表单在 Flask 中使用 WTForms 定义按钮。当我尝试设置值时,这些字段似乎生成了两次。一次使用默认值“”,一次使用模板中设置的值。最终,在发布期间返回的是两个变量的空值。

我想做的是根据分配的按钮将每个实例化的值设置为不同的值,这意味着它必须在模板中完成。

这是我的:

在 flask 应用程序中定义的表单:

class refreshInstances(Form):
type = HiddenField('type')
value = HiddenField('value')


def instances():
form = refreshInstances()
return render_template('instances.html', form=form)

模板 instances.html 的子集:

<form class="form" method="POST" role="form" id="updall">
{{ form.hidden_tag() }}
{{ form.type(value='res_id') }}
{{ form.value(value='12345') }}
</form>
<button class='btn btn-primary btn-block' type='submit' form='updall'><span class="glyphicon glyphicon-refresh"></span> Update All</button>

呈现的 HTML:

<form class="form" method="POST" role="form" id="updall">
<div>
<input id="csrf_token" name="csrf_token" type="hidden" value="1428">
<input id="type" name="type" type="hidden" value="">
<input id="value" name="value" type="hidden" value="">
</div>
<input id="type" name="type" type="hidden" value="res_id">
<input id="value" name="value" type="hidden" value="cjohnson">
</form>
<button class="btn btn-primary btn-block" type="submit" value="submit" form="updall"><span class="glyphicon glyphicon-refresh"></span> Update All</button>

最佳答案

您是否希望typevalue 以一种形式呈现两次?如果不是,问题是 form.hidden_​​tag() 呈现所有隐藏字段,包括 csrf_tokentypevalue。假设您正在使用 csrf_token(一个好主意,除非您有充分的理由不这样做),将 form.hidden_​​tag() 替换为 form.csrf_token():

<form class="form" method="POST" role="form" id="updall">
{{ form.csrf_token() }}
{{ form.type(value='res_id') }}
{{ form.value(value='12345') }}
</form>
<button class='btn btn-primary btn-block' type='submit' form='updall'><span class="glyphicon glyphicon-refresh"></span> Update All</button>

关于flask - WTForms:渲染时设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com