我的价值观还远远不够。
我有一个autocomplete插件,在这里我从一个JSON对象中搜索“names”,每次我选择一个,它们都会传递到一个带有value="the ID"
的列表中。在
我在WTForms
中找不到无序列表,因此我改用SelectMultipleField
,因为它可以作为数组/列表传递许多值
我的表格是这样的:
class ClassForm(Form):
function_name = StringField('names')
studentid = SelectMultipleField('studentid')
submit = SubmitField('submit')
然后在我的模板中我是这样使用它的
^{pr2}$我的问题是它无法从列表中获取值,即使我直接硬编码这些值,而不是从jquery脚本获取值。在
以下是我的观点
@app.route('/index', methods=['GET', 'POST'])
def index():
form = ClassForm()
if request.method == 'POST' and form.validate_on_submit():
flash('valid form')
st = form.studentid.data
print(st)#debug
return render_template('index.html', form=form)
每次我提交时我都在打印form.studentid.data
我得到的是{
即使我试图传递单个值并将studentid
转换为StringField
,我仍然得到一个空值。在
我也尝试过request.form['studentid']
,但是我得到了一个错误的请求我做错了什么,还有其他方法传递“自定义”值吗?在
它不能工作的原因是因为
<li>
不是一个表单控件,所以它的数据不会随表单请求一起发送回来。在您永远不会从表单类呈现
studentid
字段,因此表单控件永远不会呈现。这就好像期待着以下几点能够奏效:要将数据返回视图方法,需要使用窗体控件-可以按如下方式进行测试:
^{pr2}$或者,只需正确渲染字段:
相关问题 更多 >
编程相关推荐