ビューでフォームを処理するために提案されたパターンは、私には過度に複雑で非DRYのように見えます。
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,
})
これは多くの条件文であり、ContactForm()構造を繰り返し、ビューがフォームを処理する必要があるすべての場所でブロック全体が繰り返されます。それを行うためのより良い方法はありませんか?