我是Django的新手,我想在Django中创建一个用户注册表单。在创建模型时,我给了一个fieldtype-> PasswordField()到密码字段,但是当我把这个模型运行到终端时我得到了一个错误
password=models.PasswordField()
AttributeError: 'module' object has no attribute 'PasswordField'
所以我想知道Django中哪个字段类型用于密码。我已经引用了表单文档,但我什么也没找到。
所以请帮帮我
答案 0 :(得分:4)
使用django.db.models.CharField ,因为这是密码字符串的OK数据库列类型
使用django.forms.PasswordWidget ,在表单中表示此字段,请参阅overriding default form field widgets
models.py:
from django.db import models
class YourModel(models.Model):
password = models.CharField(max_length=200)
forms.py:
from django import forms
from models import YourModel
class YourModelForm(forms.ModelForm):
class Meta:
widgets = {'password': forms.PasswordField}
model = YourModel
答案 1 :(得分:2)
django中没有PasswordField()
。您可以使用CharField()
来存储密码,但要在html表单中将其显示为密码输入类型,您可以为其指定一个小部件。
示例:
password = forms.CharField(widget=forms.PasswordInput())
更多参考资料:PasswordInput