У меня проблема, когда форма недействительна (в методе POST).Обработка формы в классе
не возвратил объект HttpResponse. Вместо этого вместо него он вернул Нет.
Я мог бы вставить эту строку в последней строке сообщение метода
return render(request, self.template_name, context)
Но контекстной переменной инициализируется в Получ. Как передать контекст почтовому методу?
class EventPage(View):
template_name = 'event.html'
def get(self, request, event_id):
event = Event.objects.get(id = event_id)
participants = Participant.objects.filter(event_id = event.id)
register_to_event_form = RegisterToEvent()
context = {
'register_to_event_form': register_to_event_form,
'title': event.title,
'description': event.description,
}
return render(request, self.template_name, context)
def post(self, request, event_id):
event = Event.objects.get(id = event_id)
if request.method == "POST":
register_to_event_form = RegisterToEvent(request.POST)
if register_to_event_form.is_valid():
participant = register_to_event_form.save(commit=False)
participant.event = event
participant.save()
return HttpResponseRedirect('/event-%s' %event_id)
Спасибо, это намного лучший способ, но я столкнулся с другой проблемой. Возможно ли иметь более одной формы? – Rokas