Ваше представление имеет то же имя, что и форма, поэтому, если вы вызываете FirstForm
, вы будете вызывать представление, а не форму.
Поэтому лучше назвать представление, например, другим first_view
:
def <b>first_view</b>(request):
if request.method == 'GET':
form = FirstForm()
else:
form = FirstForm(request.POST, request.FILES)
if form.is_valid():
name = form.cleaned_data['name']
email = form.cleaned_data['email']
date = form.cleaned_data['date']
number = form.cleaned_data['number']
try:
send_mail(email, (name, date, number), settings.EMAIL_HOST_USER, ['daribian@list.ru'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('success')
return render(request, 'index.html', {'form': form})
Примечание : согласно PEP-8 , вы должны писать функции в snake_case , а не camelCase , поэтому success_view
вместо successView
.