Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как обработать форму с несколькими полями? [RSS Feed]

#1 Март 22, 2017 00:09:22

Gustavo
Зарегистрирован: 2016-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обработать форму с несколькими полями?

Дано: поисковая форма с несколькими полями, которые могут быть заполнены каждые по-отдельности, или попарно или вообще все вместе. У меня возник вопрос и я пока не понял как это лучше сделать: как правильно написать код в таком случае? Вряд ли будет правильным писать 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()? По-моему это неправильно.

Офлайн

#2 Март 22, 2017 01:01:07

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Как обработать форму с несколькими полями?

В вашем обрабатывающем 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

Офлайн

#3 Март 22, 2017 13:06:51

balalay12
Зарегистрирован: 2014-07-28
Сообщения: 92
Репутация: +  4  -
Профиль   Адрес электронной почты  

Как обработать форму с несколькими полями?

Описали форму

Проверили форму

Об этом в каждой более менее нормальной книге по джанге написано. Так же ссылочки в самой документации

Отредактировано balalay12 (Март 22, 2017 13:07:59)

Офлайн

  • Начало
  • » Django
  • » Как обработать форму с несколькими полями?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version