我一直收到 BadRequestKeyError 400,我不知道为什么
I keep getting the BadRequestKeyError 400, and I don't know why
Python 侧路由
@app.route("/loginC", methods=["POST"])
def loginPage():
valid = request.form["idnumber"]
if valid is not None: #Creating A New User
username = request.form["username"]
password = request.form["password"]
firstname = request.form["firstname"]
lastname = request.form["lastname"]
idnumber = request.form["idnumber"]
logins["'"+username+"'"] = {"password":"'"+ password +"'", "firstname":"'"+ firstname +"'", "lastname":"'"+ lastname +"'", "idnumber":"'"+ idnumber +"'"}
session["currentUser"] = username
isLogin = True
return redirect("/login")
else:
username = request.form["username"]
password = request.form["password"]
for account in logins:
if username == logins:
if logins["'"+username+"'"]["password"] == password:
session["currentUser"] = username
isLogin = True
return redirect("/login")
return redirect("/login")
Html
<form action="/loginC" class="formLogin" method="post">
<h3>Existing User</h3>
Username: <input type="text" name="username" placeholder="username" required><br>
Password: <input type="password" name="password" placeholder="password" required><br>
<input type="submit" value="Login">
</form>
<br>
<hr class="formLogin">
<br>
<form action="/loginC" class="formLogin" method="post">
<h3>New User</h3>
Username: <input type="text" name="username" placeholder="username" required><br>
Password: <input type="password" name="password" placeholder="password" required> <br>
Firstname: <input type="text" name="firstname" placeholder="firstname" required><br>
Lastname: <input type="text" name="lastname" placeholder="lastname" required><br>
Student ID: <input name="idnumber" type="text" placeholder="ID number" required><br>
<input type="submit" value="Create">
</form>
我不断收到错误消息:
“werkzeug.exceptions.BadRequestKeyError:400 错误请求:浏览器(或代理)发送了该服务器无法理解的请求。
键错误:'idnumber'"
它正在请求第二个表格中的括号,也就是 'new user' 括号
代替:
valid = request.form["idnumber"]
更改为:
如果要检索 POST 数据:
valid = request.form.get("idnumber")
如果要检索 GET(查询字符串)数据:
valid = request.args.get("idnumber")
还有:
将方法更改为
@app.route("/loginC", methods=["GET", "POST"])
Python 侧路由
@app.route("/loginC", methods=["POST"])
def loginPage():
valid = request.form["idnumber"]
if valid is not None: #Creating A New User
username = request.form["username"]
password = request.form["password"]
firstname = request.form["firstname"]
lastname = request.form["lastname"]
idnumber = request.form["idnumber"]
logins["'"+username+"'"] = {"password":"'"+ password +"'", "firstname":"'"+ firstname +"'", "lastname":"'"+ lastname +"'", "idnumber":"'"+ idnumber +"'"}
session["currentUser"] = username
isLogin = True
return redirect("/login")
else:
username = request.form["username"]
password = request.form["password"]
for account in logins:
if username == logins:
if logins["'"+username+"'"]["password"] == password:
session["currentUser"] = username
isLogin = True
return redirect("/login")
return redirect("/login")
Html
<form action="/loginC" class="formLogin" method="post">
<h3>Existing User</h3>
Username: <input type="text" name="username" placeholder="username" required><br>
Password: <input type="password" name="password" placeholder="password" required><br>
<input type="submit" value="Login">
</form>
<br>
<hr class="formLogin">
<br>
<form action="/loginC" class="formLogin" method="post">
<h3>New User</h3>
Username: <input type="text" name="username" placeholder="username" required><br>
Password: <input type="password" name="password" placeholder="password" required> <br>
Firstname: <input type="text" name="firstname" placeholder="firstname" required><br>
Lastname: <input type="text" name="lastname" placeholder="lastname" required><br>
Student ID: <input name="idnumber" type="text" placeholder="ID number" required><br>
<input type="submit" value="Create">
</form>
我不断收到错误消息: “werkzeug.exceptions.BadRequestKeyError:400 错误请求:浏览器(或代理)发送了该服务器无法理解的请求。 键错误:'idnumber'"
它正在请求第二个表格中的括号,也就是 'new user' 括号
代替:
valid = request.form["idnumber"]
更改为:
如果要检索 POST 数据:
valid = request.form.get("idnumber")
如果要检索 GET(查询字符串)数据:
valid = request.args.get("idnumber")
还有: 将方法更改为
@app.route("/loginC", methods=["GET", "POST"])