Форум сайта python.su
Дано: поисковая форма с несколькими полями, которые могут быть заполнены каждые по-отдельности, или попарно или вообще все вместе. У меня возник вопрос и я пока не понял как это лучше сделать: как правильно написать код в таком случае? Вряд ли будет правильным писать if request.GET.get('field_one', ‘') elif request.GET.get(’field_two', ‘') elif request.GET.get(’field_one', ‘') and request.GET.get(’field_two', '') И Т.Д.
Подскажите, пожалуйста, как это сделать? Ломаю голову уже второй день, и не могу найти решение. К тому же все статьи, которые я нашел (наверное не один десяток) приводят в примерах формы с методом POST.
Также другой момент: если под каждый IF я должен писать if form.is_valid()? По-моему это неправильно.
Офлайн
В вашем обрабатывающем view должно быть что-то вроде этого:
filled_form = SearchForm(request.GET) # fill the form if filled_form.is_valid(): filled_form.cleaned_data['your_search_field'] # get access to your request data via `cleaned_data` else: pass # some actions performed when form is invalid
Офлайн
Описали форму
Проверили форму
Об этом в каждой более менее нормальной книге по джанге написано. Так же ссылочки в самой документации
Отредактировано balalay12 (Март 22, 2017 13:07:59)
Офлайн