gpt4 book ai didi

flask - 动态生成flask-wtf形式

转载 作者:行者123 更新时间:2023-12-03 16:17:58 27 4
gpt4 key购买 nike

我必须制作很多 RadioFields,我认为动态生成它们会很好,但我无法使代码正常工作。我正在使用 Flask 和 flask-wtf。

表单定义:

from flask_wtf import FlaskForm
from wtforms import RadioField, SubmitField

class GenerateForm(FlaskForm):
def binary_generator(self, label_text, yes_text, no_text):
return RadioField(label_text, choices=[(1, yes_text), (0, no_text)])

submit = SubmitField('submit')

flask 应用:

import GeneratorForm

form = GeneratorForm
form.radio_one = form.binary_generator('test label', 'yes', 'no')

render_template('file.html', form=form)

神社:

{{ form.radio_one.label }}
{{ form.radio_one(style="list-style: none") }}

Jinja 失败:wtforms.fields.core.UnboundField object has no attribute label

所以看起来类 binary_generator 函数工作正常,但没有正确构建表单?

最佳答案

GenerateForm 中是否需要 binary_generator 方法?

您的GenerateForm 可能看起来像这样:

from flask_wtf import FlaskForm
from wtforms import RadioField, SubmitField

class GenerateForm(FlaskForm):
radio_fields = RadioField('', choices=[])
submit = SubmitField('submit')

在你的 flask 应用程序中,你需要像这样实例化你的表单:

import GeneratorForm

form = GeneratorForm() # Instantiate it

form.radio_fields.label = 'Label Example'
form.radio_fields.choices = [('value_1', 'description'), ('value_2', 'description')]

render_template('file.html', form=form)

file.html 中呈现您的表单:

<form method="post">
{{ form.hidden_tag() }}
{{ form.radio_fields.label }}
{{ form.radio_fields(style='list-style: none') }}
{{ form.submit }}
</form>

关于flask - 动态生成flask-wtf形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53655569/

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