Вернуть форму с данными+ошибками - Python
Формулировка задачи:
Ситуация следующая: при редактировании личных данных в форму подгружаются данные из базы, пользователь в шаблоне что-то меняет и отправляет данные на сервер.
Я не могу сделать чтобы в случае ошибки в редактировании формы, пользователя редиректило обратно на страницу редактирования и показывало ошибки. (вернее могу, но ооочень костыльно)
views.py
Собственно вопрос, что мне надо писать в else если form is not valid?
Листинг программы
- def change_data(request):
- user = request.user
- context = {}
- # и так далее...
- if request.method == "POST":
- form = ChangeData(request.POST)
- if form.is_valid():
- data = form.cleaned_data
- # дальше работа с валидными данными
- else:
- # не понимаю, что сюда надо писать
- # мой костыль - это заново получить данные из базы (т.е дублирование последнего else)
- # + добавить в context form.errors
- # и уже вместе с ошибками редиректнуть
- return ?????
- else:
- # получаем данные из базы для формы
- data = some_data
- context['form'] = ChangeForm(data)
- return render(request, 'account/change.html', context)
Решение задачи: «Вернуть форму с данными+ошибками»
textual
Листинг программы
- else:
- # не понимаю, что сюда надо писать
- # мой костыль - это заново получить данные из базы (т.е дублирование последнего else)
- # + добавить в context form.errors
- # и уже вместе с ошибками редиректнуть
- return render(request, 'account/change.html', context)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д