我一直在使用python库烧瓶在网站后端上工作,但是每当我尝试从POST请求中获取表单数据(因为它需要安全发送)时,我总是收到405-不允许的方法错误。在提交用户的电子邮件和密码之后,这只是意味着将其发送到一个非常基本的html页面,上面带有他们的名称和电子邮件(使用代码进行解释更容易)。
python代码:
# reroutes user to login page html file
@app.route("/")
@app.route("/login", methods=["GET", "POST"])
def reroute_login():
return flask.render_template("login.html")
# returns the login page html file
@app.route("/login", methods=["GET", "POST"])
def login():
if flask.request.method == "POST":
print("Reached")
email = flask.request.form["email"]
password = flask.request.form["password"]
print(email, password)
return flask.redirect(flask.url_for("user", usr=email))
else:
return flask.render_template("login.html")
@app.route("/<usr>")
def user(usr):
return f"<h1>{usr}</h1>" # here is that very basic html page I mentioned but it won't reroute to this page
login.html:
<form action="#" method="post">
<h1>Login</h1>
<input type="text" name="email" placeholder="Email">
<input type="password" name="password" placeholder="Password">
<a href="#">Forgot Your Password</a>
<input type="submit" class="button1" value="submit" />
</form>
请只知道我对Flask和整个后端Web开发人员来说还是很陌生,但是任何帮助都将不胜感激:)
答案 0 :(得分:1)
尝试将login.html中的操作从#
更改为/login
。
并且您已经定义了多个具有相同名称的路由。 删除第一个登录路径。