Die Hauptfrage ist, ob es möglich ist, bestimmte Formularfelder an verschiedenen Stellen in Ihrer HTML-Vorlage beliebig zu spezifizieren. z.B. {{form.password}} Das scheint jedoch nicht zu funktionieren. (Ich schwöre, dass ich das irgendwo gesehen haben, aber ich kann es einfach nicht mehr finden Sie im Internet)Django-Formularfelder als Template-Variablen
Meine Ansicht für neue Benutzer anmelden aus UserCreationForm vererben und sieht irgendwie aus wie folgt aus:
Ansichten .py
def signup(request):
if request.method == "POST":
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'core/authentication/registration_form.html', {'form': form})
es sendet dieses Formular direkt an die Vorlage registration_form.html, ist dies, wie ich wünschte, es hat funktioniert:
<form class="form" method="POST" action="">
<div class="card-body">
<div class="input-group form-group-no-border">
<span class="input-group-addon">
<i class="now-ui-icons users_circle-08"></i>
</span>
{{ form.first_name }}
</div>
</div>
Dies ist, wie es tatsächlich funktioniert (f oder jetzt):
Das könnte eine dumme Frage sein, aber na ja, ich bin neugierig.
Vielen Dank im Voraus
Es ist möglich, einzelne Felder zu definieren, Ihr erstes Beispiel ist korrekt. Und es ist besser, es so zu machen, das Feld nicht zu harcodieren. Sie erben von 'UserCreationForm' mit einem Formular mit dem gleichen Namen? Veröffentlichen Sie Ihren Formularcode. –