Ich versuche, eine Ansicht zu erstellen, um einem Benutzer zu ermöglichen, einen anderen Benutzer zu erstellen. Das Problem ist, dass das generierte Formular anfängliche Werte für die Felder 'password' und 'last_name' hat, und ich weiß nicht warum. Ich muss diese Anfangswerte entfernen.Benutzerformular hat Felder mit unerwünschten Anfangswert, Django
Ich habe ein UserForm mit ModelForm erstellt.
class UserForm(forms.ModelForm):
# I've tried this, but it doesn't change anything
#def __init__(self, *args, **kwargs):
#super(UserForm, self).__init__(*args, **kwargs)
#self.fields['password'].value = ''
#self.fields['last_name'].value = ''
password = forms.CharField(widget=forms.PasswordInput(render_value=True))
class Meta:
model = User
fields = [
'username', 'email', 'first_name', 'last_name'
]
Dann habe ich die Aussicht. Ich habe die Ansicht nach demselben Muster zum Erstellen von Ansichten für andere Objekte codiert. Nachdem dieses Problem haben, schrieb ich den Blick nach unten zu diesem:
def create_user(request):
user_form = UserForm()
context = {
"user_form": user_form,
}
return render(request, "remote/user/user_create_form.html", context)
Ich hatte gehofft, dass, wenn ich nur das Formular anzuzeigen versucht, und die Formulardaten nicht zu behandeln, würde dieses Problem nicht auftreten, aber es funktioniert.
Meine Vorlage hat dies (ich bin mit knusprigen Formen):
<form action="" method="POST">{% csrf_token %}
{{ user_form|crispy }}
<input type="submit" class="btn btn-primary" value="Registar" />
</form>
Hier ist, was die Form wie zunächst aussieht: password and last_name fields have initial values
Ich denke, es ist Ihr Browser füllt das Formular aus dem Passwortspeicher. –