这是有关使用的问题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是否选择了第一个选项)。
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)