Flask:在另一个页面上使用WTForm,而不是渲染表单本身
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask:在另一个页面上使用WTForm,而不是渲染表单本身相关的知识,希望对你有一定的参考价值。
我有以下设置:
渲染页面:
@app.route('/one', methods=['GET'])
def one():
form = AnyForm()
return render_template(
'form.html', form=form
)
模板(剥离到基本):
{{ wtf.quick_form(form, action=url_for('two')) }}
路线/功能包括逻辑
@app.route('/two', methods=['POST'])
def two(form):
print('FORMDATA: ' + form)
return redirect(url_for('one'))
错误是:
TypeError: two() missing 1 required positional argument: 'form'
我该如何处理?
答案
你必须定义函数qazxsw poi的形式,并从函数收到的post请求中填充它,这样你就不需要得到任何参数
试试这个:
two
和你尝试的方式一样,你必须给你的@app.route('/two', methods=['POST'])
def two():
form = AnyForm(request.form)
print('FORMDATA: ' + form)
return redirect(url_for('one'))
函数一个像这样的表格参数
url_for
我不确定它是否有效
以上是关于Flask:在另一个页面上使用WTForm,而不是渲染表单本身的主要内容,如果未能解决你的问题,请参考以下文章
如何将flask_sqlalchemy orm中的数据添加到WTForm FieldList?
python flask bootstrap pagination错误error 'url_args' is undefined