Я видел образцы Джанго и вижу, что они имеют приличную обработку ошибок.Однако я хочу посмотреть, есть ли еще лучший подход, общий шаблон для обработки ошибок проверки формы в Django.Это образец, который я нашел здесь :
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render_to_response('contact.html', {
'form': form,
})
В частности, мне было интересно:
Как можно посмотреть в "/ спасибо/ "быть уверенным, что форма была проверена?Существуют ли какие-либо распространенные способы передачи успешной проверки формы для следующего просмотра?Или мне нужно сделать что-то вручную, например, установить флаг в сеансе запроса?
Как можно написать этот код так, чтобы форма НЕ действительна и страница отображалась сошибки при отправке, если пользователь обновляет браузер, он не спрашивает пользователя, хотят ли они снова отправлять данные?
РЕДАКТИРОВАТЬ: Что касается # 1 IЯ имею в виду случаи, когда пользователь вручную вводит URL '/ thanks /' или перебирает страницы истории и случайно открывает его без проверки какой-либо формы.(Мы все еще показываем страницу «спасибо»? Или нам нужно как-то еще раз подтвердить, почему мы видим «спасибо»).