Как я могу получить текстовое поле пароля для Django? - PullRequest
1 голос
/ 10 января 2012
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?

Я пытался password = models.CharField(max_length=300, widget=forms.PasswordInput ), но получил ошибку.

Ответы [ 3 ]

3 голосов
/ 10 января 2012

Один из способов, если у вас есть файл forms.py в вашем приложении, это указать виджеты в вашем классе Meta, например:

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

    class Meta:
        model = Users

        widgets = {
            'password' : PasswordInput(),
        }
3 голосов
/ 10 января 2012

Виджеты назначаются в формах, а не на модели.

Пожалуйста, смотрите документы для документации форм: https://docs.djangoproject.com/en/dev/ref/forms/widgets/

1 голос
/ 12 января 2012

Вы можете использовать этот подход.Создайте файл с именем forms.py внутри вашего приложения.

, например:

from django import forms
from models import Users

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

    class Meta:
        model = Users
...