#python #django #django-generic-views
#python #django #django-generic-views
Вопрос:
У меня есть следующий код, и я хочу form_invalid
, чтобы метод возвращал ту же страницу, success_url
что и . Я рассматривал возможность CreateView
подклассирования, но я хочу знать общественное мнение. Как реализовать описанную выше вещь?
class ProgramNew(CreateView):
form_class = ProgramForm
template_name = 'programs/program_list.html'
success_url = '/manage/programs'
....
....
....
def form_invalid(self, form):
# How to return to self.success_url?
return super(ProgramNew, self).form_invalid(form)
Султан
Ответ №1:
def form_invalid(self, form):
return HttpResponseRedirect(self.get_success_url())
Но я не знаю, какая польза от этой формы.
Комментарии:
1. @sultan Я думаю, что это проблема или фреймворк REST, который вы используете.
2. Я исправил это, но на данный момент у меня следующая ошибка
'NoneType' object has no attribute '__dict__'
3. по какой-то причине
self.get_success_url()
метод возвращаетNone
4. если установить URL-адрес перенаправления вручную, он работает, но как передать обратно недопустимую форму?
5. @sultan Тогда просмотр в
/manage/programs/new
должен быть вашимCreateView