Вернуть форму с данными+ошибками - Python

Узнай цену своей работы

Формулировка задачи:

Ситуация следующая: при редактировании личных данных в форму подгружаются данные из базы, пользователь в шаблоне что-то меняет и отправляет данные на сервер. Я не могу сделать чтобы в случае ошибки в редактировании формы, пользователя редиректило обратно на страницу редактирования и показывало ошибки. (вернее могу, но ооочень костыльно) views.py
Листинг программы
  1. def change_data(request):
  2. user = request.user
  3. context = {}
  4. # и так далее...
  5. if request.method == "POST":
  6. form = ChangeData(request.POST)
  7. if form.is_valid():
  8. data = form.cleaned_data
  9. # дальше работа с валидными данными
  10. else:
  11. # не понимаю, что сюда надо писать
  12. # мой костыль - это заново получить данные из базы (т.е дублирование последнего else)
  13. # + добавить в context form.errors
  14. # и уже вместе с ошибками редиректнуть
  15. return ?????
  16. else:
  17. # получаем данные из базы для формы
  18. data = some_data
  19. context['form'] = ChangeForm(data)
  20. return render(request, 'account/change.html', context)
Собственно вопрос, что мне надо писать в else если form is not valid?

Решение задачи: «Вернуть форму с данными+ошибками»

textual
Листинг программы
  1. else:
  2.     # не понимаю, что сюда надо писать
  3.     # мой костыль - это заново получить данные из базы (т.е дублирование последнего else)    
  4.     # + добавить в context form.errors
  5.     # и уже вместе с ошибками редиректнуть
  6.     return render(request, 'account/change.html', context)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут