如何在Django中获取密码文本框?

1 投票
3 回答
2125 浏览
提问于 2025-04-17 09:56
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 个回答

1

你可以用这个方法。在你的应用里创建一个叫做 forms.py 的文件。

比如说:

from django import forms
from models import Users

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

    class Meta:
        model = Users
3

小部件是分配在表单里的,而不是在模型上。

请查看文档了解表单的相关信息:https://docs.djangoproject.com/en/dev/ref/forms/widgets/

3

如果你的应用里有一个 forms.py 文件,可以通过在你的类的 Meta 部分指定小部件来实现。例如:

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

    class Meta:
        model = Users

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

撰写回答