1

我是 Django 新手,我想在 Django 中制作用户注册表单。在创建模型时,我为密码字段提供了 fieldtype->PasswordField() 但是当我将此模型运行到终端时出现错误

password=models.PasswordField()
AttributeError: 'module' object has no attribute 'PasswordField'

所以我想知道 Django 中的密码使用哪种字段类型。我已经参考了表单文档,但我什么也没找到。

所以请帮助我

4

2 回答 2

4

理论

  1. 使用 django.db.models.CharField,因为这是密码字符串的 OK 数据库列类型

  2. 使用 django.forms.PasswordWidget,在表单中表示此字段,请参阅覆盖默认表单字段小部件

例子

模型.py:

from django.db import models


class YourModel(models.Model):
    password = models.CharField(max_length=200)

表格.py:

from django import forms

from models import YourModel


class YourModelForm(forms.ModelForm):
    class Meta:
        widgets = {'password': forms.PasswordField}
        model = YourModel
于 2012-08-27T07:37:49.020 回答
2

django中没有PasswordField()。您可以用来CharField()存储密码,但要将其显示为 html 表单中的密码输入类型,您可以为其指定一个小部件。

例子:

password = forms.CharField(widget=forms.PasswordInput())

更多参考:密码输入

于 2012-08-27T07:38:27.523 回答