Passwortfeld in Django vorfüllen?

8

Gibt es eine Möglichkeit, ein Django Form Passwortfeld vorab zu füllen, so dass es etwas in dem resultierenden <input type="password"> html-Element angezeigt werden?

Das Standardverhalten scheint nichts anzuzeigen, wenn MyForm(initial = {'passfield':'something'}) gesetzt ist.

Ich brauche das, um ein Benutzer-Bearbeitungsformular zu implementieren. Ich möchte eine zufällige Zeichenfolge anzeigen, die, wenn der Benutzer nicht ändert, ich weiß, dass er das Kennwort nicht ändern möchte. Also ich glaube nicht, dass es irgendein Sicherheitsproblem in dem gibt, was ich versuche zu tun.

    
Al Bundy 22.10.2012, 18:27
quelle

3 Antworten

21

Es scheint, dass die Verwendung des Arguments render_value nicht nur für den in den Django-Dokumenten aufgelisteten Fall funktioniert und kann verwendet werden:

%Vor%     
Al Bundy 22.10.2012, 18:58
quelle
0

Laut den Dokumenten unterstützt Django PasswordField den Anfangswert nicht . Selbst wenn du es passierst, würde es nicht rendern.

Sie können das Feld entweder unterklassifizieren und ein eigenes Passwort-Widget erstellen, das Ihnen dies ermöglicht, oder Sie können HTML5 placeholder verwenden. HTML5 ist viel sicherer, weil Sie dem Benutzer etwas anzeigen können, aber nicht das Passwort selbst.

Für HTML5-Unterstützung können Sie Ссылка verwenden. Dann können Sie etwas tun (nicht exakte Syntax, sondern etwas in der Art von):

%Vor%     
miki725 22.10.2012 18:47
quelle
-1

Ich bin auf eine ähnliche Situation gestoßen und habe Folgendes getan:

%Vor%

In PasswordField gibt es PasswordInput Feld Sie müssen render_value = True wie oben erwähnt setzen, was standardmäßig False ist, dann habe ich während der Initialisierung von UserForm den Anfangswert für das Passwort übergeben.

%Vor%

Jetzt wurde dieser Anfangswert in der Einstellungsdatei vordefiniert, die ich vergleiche, wenn das Passwort geändert wird, dann aktualisiere das Passwort, sonst belasse das Original wie es ist.

    
user3586550 29.04.2014 18:46
quelle

Tags und Links