geo*_*rge 2 python forms flask wtforms
我有 2 条路线:
@app.route('/activity', methods=["GET"])
def addactivity():
return render_template('activity.html')
Run Code Online (Sandbox Code Playgroud)
在 acitvity.html 中,我有一个包含一些字段的表单,我想将此表单提交到另一条路线:
@app.route('/students', methods=["GET"])
def addstudents():
return render_template('students.html')
Run Code Online (Sandbox Code Playgroud)
因此,当我在 acitivity.html 中提交表单时,我将被重定向到
/students?field1=value1&field2=value2 等等...
对于活动表单,我使用带有验证器的 wtforms:DataRequired() 或 InputRequired()
问题是,当我在 addtudents 路由中使用 form.validate() 时,即使表单已验证或未验证,它也会将我重定向到 student.html 路由。我想以防表单未验证以显示 activity.html 中的错误.这怎么可能?
我是 Flask 的新手,也许我的整个代码是错误的,但概念是,如果活动表单经过验证,我将被重定向到学生路线,否则将在活动路线中显示错误。此外,我需要提交学生路线中的表格与前一个表格的参数。
小智 5
您需要request.args在初始化表单时通过,例如
@app.route('/students')
def addstudents():
form = Form(request.args)
if form.validate():
return render_template('students.html')
# Redirect to addactivity if form is invalid
return redirect(url_for('addactivity'))
Run Code Online (Sandbox Code Playgroud)
您将需要从 导入request对象flask。
来源:https : //github.com/lepture/flask-wtf/issues/291
重定向到addstudents当表单提交,将该属性添加action="{{ url_for('addstudents') }}"到<form>的标签activity.html。
| 归档时间: |
|
| 查看次数: |
1517 次 |
| 最近记录: |