Почему BadrequestKeyError показывает? - PullRequest
1 голос
/ 10 ноября 2019

Я делаю небольшой проект - Reminider System. У меня есть форма, которая принимает значения от пользователей и вставляет в таблицу базы данных. Проблема возникает при получении значения из текстового поля. Ниже приведен мой код, а также я даю сообщение об ошибке.

<form method="POST" action="">
<input type="hidden" name="unique" value="{{session.UID}}" disabled="true">
<button type="submit" class="btn btn-primary">Confirm</button>
</form>

Это мой шаблон

@app.route('/home/set_reminder',methods=['POST'])
@is_logged_in
def set_reminder():
    if request.method=='POST' and form.validate():
        uid = request.form['unique']

Я получаю сообщение об ошибке в этой строке uid = request.form['unique']. Не понимаю, почему он не может извлечь значение.

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'unique'

И это ошибка, которую я получаю. Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 10 ноября 2019

В вашем html ввод uid является отключен , поэтому браузер не будет отправлять uid в теле запроса POST. Это вызывает ошибку при попытке доступа к request.form.uid - он не существует.

Вы можете использовать readonly вместо отключено , если необходимо вернуть значениебраузером.

См. этот ответ , чтобы получить немного больше информации о BadRequestKeyError.

...