Die Frage ist: Können wir das Formular in die Vorlage mit mehr als 2 Feldern senden (ich bin sicher, dass es möglich sein sollte). Bitte, Beratung, was das Problem sein könnte:Django-Vorlagen {% block content%} kann nur zwei Formularfelder enthalten?
Ich habe das Formular mit drei Feldern erstellt:
class Email(forms.Form):
owner = forms.ChoiceField(choices=['Tyler', 'Aleks'])
title = forms.CharField(max_length=150, label='Name the stuff')
file = forms.FilePathField(path=path, label='Enter the path')
Danach betrieb sie in Sicht, wo ich Form Objekt an die Vorlage bin das Senden:
Hierdef mail_distribution(request):
if request.method == 'POST':
form = Email(request.POST)
if form.is_valid():
render(request, 'general/email.html', {'form': form})
else:
form = Email()
return render(request, 'general/email.html', {'form': form})
ist die Vorlage selbst:
{% extends 'general/base.html' %}
{% block content %}
<form class="form-vertical" action="mail_distrib" role="form" method="post">
{% csrf_token %}
<div class="form-group" style="display: inherit">
<center>
{{form.title}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.owner}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.file}}
</center>
</div>
<center><input type="submit" value="OK"></center>
</form>
{% endblock %}
Danach erhalte ich die Fehlermeldung:
* Fehler bei der Vorlage Rendering
In Vorlage E: \ Tyler \ Projects \ Web_dev \ dj_api \ Scripts \ Distribution \ general \ Templates \ general \ email.html, Fehler in Zeile 13 zu viele Werte entpacken (erwartete 2)
Line13 - 13 {{form.owner}} *
Sind Sie sicher, dass Sie posten Sie Ihren gesamten Code? Sieht aus, als ob du versuchst, eine E-Mail zu senden, und da läuft etwas schief. Warum rendern Sie ein Formular, wenn das Formular gültig ist? –
Bitte zeigen Sie den kompletten Traceback an. Die Anzahl der Formularfelder ist hier nicht das Problem. – Alasdair
@Alasdair bearbeitet die Frage, danke! –