2017-01-17 1 views
0

In einer Django Form, ich bin Benutzer zur Eingabe ihrer Benutzernamen und Passwörter wie so bekommen:machen Passwort sichtbar in Django bildet CharField (wo Widget = forms.PasswordInput)

from django.contrib.auth.forms import AuthenticationForm 

class ReauthForm(AuthenticationForm): 
    username = forms.CharField(max_length=254) 
    password = forms.CharField(label=_("Password"), widget=forms.PasswordInput) 
    class Meta: 
     exclude = ("username",) 
     fields = ("password",) 

Gibt es einen Parameter kann ich Pass in die Widget-Methode (oder etwas anderes), die das Passwort erlaubt sichtbar wie es eingegeben ist?

+0

Haben Sie meinen Sie wollen stattdessen ein 'forms.TextInput' für das Widget verwenden? oder eine Möglichkeit, das Passwort über js click sichtbar zu machen? – Sayse

Antwort

1

Passwörter unsichtbar machen ist buchstäblich die nur Sache, die das PasswordInput Widget tut. Wenn Sie das nicht möchten, verwenden Sie dieses Widget nicht. Verwenden Sie stattdessen das Standard-TextInput.

+0

Gotcha, ich war mir nicht sicher, danke! –

0

Sie können ein anderes Widget wählen, das anstelle von PasswordInput verwendet wird, oder entfernen Sie es einfach vollständig.

password = forms.CharField(label=_("Password")) 

ABER NICHT

damit Ihre Benutzer ein leicht kantiger Gefühl geben, dass Sie für die Sicherheit ihr Passwort ist viel Sorgfalt nicht haben, und öffnen Sie sie Surfer Schulter auf bis

+0

Nun, ich werde dies auf A/B testen. Vielen Dank! –

+0

@HassanBaig - Ich denke nicht, dass dies etwas ist, dass Sie A/B testen sollten, Ihre Benutzer sollten keine Wahl haben, * Sie * sollten bei der Kontrolle ihrer Konten Sicherheit helfen. Glauben Sie mir, wenn eine Website mein Passwort anzeigen würde, würde ich es nie wieder besuchen. Vielleicht möchten Sie dem Benutzer erlauben, auf das symbolische "Auge" -Symbol zu klicken, damit er schnell sehen kann, was er eingegeben hat, aber das ist es. – Sayse

+0

Nun, meine eine Überlegung ist die Benutzer auf Legacy-Feature-Handys - eine nicht zu ignorierende Anzahl von denen, die auch meinen Service nutzen. Das Tippen ist ziemlich umständlich, also fühlte ich, wenn das Passwort entlarvt wurde, würden sie ein besseres Gefühl dafür bekommen, was sie eingegeben haben. Aber das "Auge" -Symbol zu haben ist ein interessanter Vorschlag: Vielleicht kann ich das stattdessen als Feature anbieten. –