2017-07-05 11 views
0

私は乗組員のモデルを持っています。テーブルにはパスワードフィールドがあります。私はプレーンテキストでパスワードを表示したくない。だから、私はwidget=forms.PasswordInput()を使った書式を追加しました。しかし、これはデータを保存した後にパスワードを表示しません。パスワードを隠しフォーマットで表示するにはどうすればよいですか?あなたは安全なパスワードに必要がある場合にはdjangoのパスワードフィールドに値が表示されない

class Crew(models.Model): 
    crew_id = models.AutoField(primary_key=True) 
    crew_code = models.CharField(max_length=200, null=False, unique=True) 
    crew_name = models.CharField(max_length=200, null=False) 
    crew_password = models.CharField(max_length=200, null=False) 

Forms.py

class UserForm(forms.ModelForm): 
     crew_password = forms.CharField(widget=forms.PasswordInput()) 

     class Meta: 
      model = Crew 
      fields = ('crew_name', 'crew_password', 'crew_code', 'crew_id') 

enter image description here

+0

真のは、あなたがデータを保存している、とあなたはパスワードが表示されないことで何を意味していますどのように、あまりにも自分の視野を投稿?表示されない、またはプレーンテキストで表示されますか? – Exprator

+0

パスワードが保存されると、パスワードは表示されません。ちょうどハッシュ。 –

+1

なぜパスワードをプレーンテキストで保存して表示したいのですか?これはセキュリティ上の大失敗であり、[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)がある可能性があります。 – Chris

答えて

0

(私は完全にこれはDjangoのユーザーのための方法ではありませんが同意するが、私はといくつかの他の接続を持っていますパスワードを保存した場合)、パスワードを暗号化するためにpython-keyczarを使用してdjango-extensionsを調べる必要があります。

あなたの質問に答えるために、パスワードウィジェットにパスワードが入力されているか空でないかはわかりません。 (私はドットやアステリックスがフィールドに何かを示すことを期待しますが、もちろん表示するべきではありません)。

正確にすることをこのん:

class SomeConnectionForm(forms.ModelForm): 
    class Meta: 
     widgets = { 
      'password': forms.PasswordInput(render_value = True), 
     } 

トリックはrender_valueある=

関連する問題