Мой код написан в функционально-ориентированных представлениях, и я узнал о обобщенных c представлениях, встроенных в Django. Я внес изменения с помощью Views, TemplateViews, но застрял в FormView.
Функциональное представление:
def NewTeam(request):
form = NewTeamForm()
if request.method == 'POST':
form= NewTeamForm(request.POST, request.FILES)
if form.is_valid():
form.save(commit = True)
return teams(request)
else:
print("Invalid Form")
return render(request,'teamform.html', {'form':form})
FormView Я пытался
class NewTeam(FormView):
template_name = 'teamform.html'
form_class = NewTeamForm
success_url = '.'
def get_context_data(self,**kwargs):
context = super(NewTeam, self).get_context_data(**kwargs)
form = NewTeamForm()
if request.method == 'POST':
form= NewTeamForm(request.POST, request.FILES)
if form.is_valid():
form.save(commit = True)
return teams(request)
else:
print("Invalid Form")
context['form'] =form
return context
Я могу понять, что мне нужно получить контекст в первой функции и создать новую функцию form_valid
. Я видел документацию и другие ответы в стеке, но я не мог понять, как проверить форму в ней. Заранее спасибо.