使用wtforms SelectField从表单获取选定的文本

这是有关使用的问题wtforms SelectField。

表单提交后,我希望提取选定的文本。

我有以下表格:

from wtforms import Form, SelectField

class TestForm(Form):

hour = SelectField(u'Hour', choices=[('1', '8am'), ('2', '10am') ])

这是视图:

@app.route('/', methods=['GET', 'POST'])

def test_create():

form =TestForm(request.form)

if request.method == 'POST' and form.validate():

test = Test()

form.populate_obj(test)

test.hour=form.hour.name

db.session.add(test)

db.session.commit()

return redirect(url_for('test_create'))

return render_template('test/edit.html', form=form)

通过test.hour=form.hour.name我获得属性name(毫不奇怪…),同时我需要文本(假设8am是否选择了第一个选项)。

这怎么可能呢?感谢你的提示。

回答:

以以下形式全局定义选择:

HOUR_CHOICES = [('1', '8am'), ('2', '10am')]

class TestForm(Form):

hour = SelectField(u'Hour', choices=HOUR_CHOICES)

从表格导入,将其转换为字典:

from .forms import HOUR_CHOICES

hour_display = dict(HOUR_CHOICES).get(form.hour.data)

以上是 使用wtforms SelectField从表单获取选定的文本 的全部内容, 来源链接: utcz.com/qa/434374.html

回到顶部