如何允许使用Flask的POST方法?

时间:2016-05-21 12:33:52

标签: python flask

我正在使用“注册”和“登录”功能进行网络Flask应用。我想使用POST方法进行“注册”功能,如下所示:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "Index"

@app.route("/signup/<username>,<password>" , methods = ['POST'])
def signup(username, password):

    return "Hello %s ! Your pw is %s" % (username,password)


if __name__== "__main__":
    app.run(debug=True)

但是当我运行它时,我收到了这个错误:“方法不允许。请求的URL不允许这种方法。”

我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:5)

你可以使用这样的东西。

from flask import Flask, request, render_template, url_for, redirect

...

@app.route("/signup/<username>,<password>", methods = ['GET', 'POST'])
def signup(username, password):
    if request.method == 'POST':
        # Enter your function POST behavior here
        return redirect(url_for('mainmenu'))    # I'm just making this up
    else:
        return "Hello %s ! Your pw is %s" % (username,password)
        # Or you could try using render_template, which is really handy
        # return render_template('signupcomplete.html')

你必须用你需要做的各种事情来充实它,但那个基本结构应该是你需要的。我自己在一些项目中使用过它。