Есть форма обратной связи. Валидация сделана на стороне клиента. Срипт подсвечивает незаполненные поля формы. но вот в чем дело если в строчке 4 нижеприведенного кода оставить
if form.is_valid():
то это подсвечивание продлится меньше секунды и пропадет. Я заменил этот код на
if form.as_p():
и все стало отображаться корректно. Вопрос: можно ли так? Ниже вьюха.
def contact_form(request):
if request.POST:
form = ContactForm(request.POST)
if form.as_p():
message = "From: %s <%s>\r\nSubject:%s\r\nMessage:\r\n%s\r\n" % (
form.cleaned_data['name'],
form.cleaned_data['tel'],
form.cleaned_data['subject'],
form.cleaned_data['message']
)
send_mail(
subject=form.cleaned_data.get('subject').encode('utf-8').strip(),
message=message,
from_email='pathfinder.rrrrr@gmail.com',
recipient_list=settings.LIST_OF_EMAIL_RECIPIENTS
)
mail_admins('Contact form', message, fail_silently=False)
if request.is_ajax():
return render(request, 'sitepylabs/success.html', {'form':form})
else:
return redirect('contact_success')
else:
form = ContactForm()
return render(request, 'contact/form.html', {'form':form})
Updated 18 Nov. 2015, 9:49 by pathfinder.