Python Flask从另一个带参数的路由呼叫路由

时间:2018-02-09 20:29:00

标签: python flask routes boolean flask-wtforms

我正在使用python flask,我有两条路线。 第一个包含一个包含3个布尔字段和一个提交的表单。 在提交时,应调用第二条路线,转发3条布尔值中的哪一条被检查。

感谢您的任何帮助=)

@app.route("/", methods = ['GET', 'POST'])
def funIndex():
  form = TableForm() #contains form with 3 booleans and one submit
  if request.method == 'GET':
    return render_template('index.html', form = form)
  if request.method == 'POST':
    ???
    return render_template('tables.html', ???)


@app.route("/tables")
def funTables():
  if boolean1 = true:
    executeMethod (boolean1)
  if boolean2 = true:
    executeMethod (boolean2)
  if boolean3 = true:
    executeMethod (boolean3)

1 个答案:

答案 0 :(得分:1)

因此,在您的家庭路线中,您需要获取表单值并使用flask url_for 重定向功能:

@app.route("/", methods = ['GET', 'POST'])
def funIndex():
      form = TableForm() #contains form with 3 booleans and one submit
      if request.method == 'GET':
        return render_template('index.html', form = form)
      if request.method == 'POST':
        //grab your form fields here from the request object
        value1 = request.form['boolean1']
        value2 = request.form['boolean2']
        value3 = request.form['boolean3']
        //redirect to /tables route
        return redirect(url_for('tables', value1=value1, value2=value2, value3=value3))

此外,如果您走这条路线,您的表格路线将需要采用这 3 个布尔值(此处命名为 value1、value2 和 value3)的参数。

编辑:我的错,我注意到您使用的是 Form 类。在这种情况下,像这样访问布尔值

value1 = form.fieldname.data