2012-01-10 15 views
1
class Users(models.Model): 
    username = models.CharField(max_length=255) 
    password = models.CharField(max_length=300) 
    password_token = models.CharField(max_length=300, default='0') 

パスワードテキスト入力フィールドは、通常のテキスト入力フィールドです。パスワードフィールドではありません。djangoのパスワードテキストボックスを取得するにはどうしたらいいですか?

djangoでパスワードフィールドを取得するにはどうすればよいですか?

password = models.CharField(max_length=300, widget=forms.PasswordInput)を試しましたが、エラーが発生しました。

+0

あなたはどのようなエラーが出るのですか? 「エラーが出た」と私には何も言えません。 –

+0

check [this](http://stackoverflow.com/questions/3715103/password-field-in-django-model) – jere

+2

[デフォルトウィジェットを上書き](https://docs.djangoproject.com/ja/1.3/)デフォルトのフィールドタイプまたはウィジェットのオーバーライド) –

答えて

3

一つの方法は、自分のクラスのメタ例えば内のウィジェットを指定することです

from django.forms import ModelForm, PasswordInput 
class UserForm(ModelForm): 

    class Meta: 
     model = Users 

     widgets = { 
      'password' : PasswordInput(), 
     } 
+0

正しい。ありがとうkeni – shibly

+0

'class Users(models.Model):password = models.CharField(max_length = 300) 'で同じことを行う他の方法はありますか? – shibly

1

この方法を使用できます。 app内にforms.pyという名前のファイルを作成します。例えば

from django import forms 
from models import Users 

class UsersForm(forms.ModelForm): 
    password = forms.CharField(widget=forms.PasswordInput) 

    class Meta: 
     model = Users