Auf der einen Seite habe ich ein paar Inhalte und verschiedene Formen haben, so sieht meine Ansicht wie folgt aus:Django Fehler Forms mit Aktionsparameter
def mainpageview(request):
args = {}
callbackform = CallBackForm
mailform = Mail
args.update(csrf(request))
args['mainpage'] = Main.objects.get(pk=1)
args['callbackform'] = callbackform
args['mailform'] = mailform
return render (request, 'main/index.html', args)
def mailform(request):
if request.POST:
mailform = Mail(request.POST)
if mailform.is_valid():
mail = mailform.cleaned_data['email']
message = "Email: " + mail
send_mail(...)
return HttpResponseRedirect('/callbackresult/')
else:
mailform = Mail()
return HttpResponseRedirect('/', {'mailform':mailform})
else:
mailform = Mail(request.POST)
return render(request, 'main/index.html', {mailform:mailform})
def callback(request):
if request.POST:
callbackform = CallBackForm(request.POST)
if callbackform.is_valid():
name = callbackform.cleaned_data['name']
phone = callbackform.cleaned_data['phone']
message = "Name: " + name + "Phone: " + phone
send_mail(...)
return HttpResponseRedirect('/callbackresult/')
else:
return HttpResponseRedirect('/')
else:
return HttpResponseRedirect('/')
Dies ist, wie meine Formen aussieht:
class CallBackForm(forms.Form):
name = forms.CharField()
phone = forms.CharField()
class Mail(forms.Form):
email = forms.EmailField()
I Aktionsparameter für jede Form hinzufügen, so ist dies Beispiel meiner Vorlage:
<form action="/mail/" method="POST">
{% csrf_token %}
{{error.mailform}}
{{ mailform }}
<input type="submit" class="success button" value="Subscribe">
</form>
Alles funktioniert gut, aber ich kann nicht bekommen wie man Formularansicht schreibt, um Formularfehler anzuzeigen ({{error.mailform}}
). Hoffe du kannst mir dabei helfen.