Проверка формы и MultiValueDictKeyError - PullRequest
2 голосов
/ 30 августа 2011

рамки Django. HTML-форма. скрипт views.py.

У меня есть форма с несколькими флажками, пользователь выбирает флажок в соответствии с тем, какие файлы он хотел бы загрузить в ZIP-файл. Когда все флажки установлены, zip-файл создается и может загружаться, однако, когда флажок снят, я получаю следующую ошибку:

MultiValueDictKeyError в / qatools / debug / logs / Ключевые журналы не найдены в QueryDict:

Моя проверка заключается в следующем. Он определяет, был ли установлен флажок, и присваивает 0 или 1 в том формате, в котором он вызывает сценарий оболочки.

    logs = 0
    if request.POST.get & request.POST['logs'] == "on":
        logs = 1

1 Ответ

3 голосов
/ 30 августа 2011

Это стандартная проблема с формами HTML ... на POST флажок, не отмеченный флажком, НЕ СУЩЕСТВУЕТСЯ в значениях POST и не имеет значения «off», как ожидалось. Так что вам нужно проверить на наличие:

logs = 0
if request.POST.get and 'logs' in request.POST and request.POST['logs'] == "on":
    logs = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...