Я продолжаю получать BadRequestKeyError 400, и я не знаю почему - PullRequest
0 голосов
/ 24 марта 2020

Python Side Routing

@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 Неверный запрос: браузер (или прокси) отправил запрос, который этот сервер не может понять. KeyError: 'idnumber' "

он запрашивает форму во втором для скобки, или скобку« нового пользователя »

1 Ответ

0 голосов
/ 24 марта 2020

Вместо:

valid = request.form["idnumber"]

Изменить на:

Если вы хотите получить данные POST:

valid = request.form.get("idnumber")

Если вы хотите получить GET (запрос строка) данные:

valid = request.args.get("idnumber")

Также: Измените метод на

@app.route("/loginC", methods=["GET", "POST"])
...