如何使用参数和POST方法重定向到外部URL?

Maj*_*ndi 2 python redirect post-parameter flask

我想在提交到烧瓶中的操作URL之前保存表单数据

<form action="" method="POST">
    <input type="hidden" name="PAYEE_ACCOUNT" value="U1234567">
    <input type="hidden" name="PAYEE_NAME" value="Name">
    <input type="text"   name="PAYMENT_AMOUNT">
    <input type="submit" name="PAYMENT_METHOD" />
</form>
Run Code Online (Sandbox Code Playgroud)

我可以提交此表单,但我希望在提交之前保存表单数据

视图:

@mod.route('/payment/', methods=['GET', 'POST'])
def payment():
    if request.method != "POST":
        return render_template('form.html')

    form = request.form

    form_data = {'PAYEE_ACCOUNT': form['PAYEE_ACCOUNT'],
                 'PAYEE_NAME': form['PAYEE_Name'],
                 'PAYMENT_AMOUNT' : form['PAYMENT_AMOUNT']
                 }

    # Save Data

    import urllib
    params = urllib.urlencode(form_data)

    url = 'http://www.example.com'
    return redirect(url, params)
Run Code Online (Sandbox Code Playgroud)

请帮我

Ham*_*FzM 9

发送307状态代码而不是302应该告诉浏览器保留使用的HTTP方法,从而具有您期望的行为.您对重定向的调用将如下所示:

@mod.route('/payment/', methods=['GET', 'POST'])
def payment():
    if request.method != "POST":
        return render_template('form.html')

    form = request.form

    form_data = {'PAYEE_ACCOUNT': form['PAYEE_ACCOUNT'],
                 'PAYEE_NAME': form['PAYEE_Name'],
                 'PAYMENT_AMOUNT' : form['PAYMENT_AMOUNT']
                 }

    # Save Data

    url = 'http://www.example.com'
    return redirect(url, code=307)
Run Code Online (Sandbox Code Playgroud)