Django模型中的PasswordField?
我正在尝试创建一个名为Username的简单模型,如下所示:Django模型中的PasswordField?,django,Django,我正在尝试创建一个名为Username的简单模型,如下所示: class User(models.Model): username = models.CharField(max_length=100) #Id is automatically generated by Django password = models.CharField(max_length=100) 这就是我试图创建的Django模型。问题是username和password属性存储为CharField,而我
class User(models.Model):
username = models.CharField(max_length=100) #Id is automatically generated by Django
password = models.CharField(max_length=100)
这就是我试图创建的Django模型。问题是username和password属性存储为CharField,而我希望在数据库中以**或加密形式存储密码。看起来他们没有像Django中的CharField那样的PasswordField。最好的方法是什么?根据具体情况
这有助于
<input type="password" />
当然,在实现这一点时,您必须非常注意。以上只是一个简单的示例,请查看文档以进一步了解Django随附的用户模型。它在django.contrib.auth.models下。这个模型拥有你所需要的一切,如果已经有了,那么开始创建你自己的模型是愚蠢的。您还有一个用户在django.contrib.auth.forms中创建和验证表单,例如用户模型中的set_password方法,并堆积更多内容。您是想将表单中输入的密码显示为*还是想这样插入db?因为对于前者,您需要使用django表单,并将widget添加到CharField(look),对于后者,没有类似的情况,您只需获取密码,对其进行加密并将其插入到db中。请不要尝试创建您自己的身份验证。你会弄错的。使用Django的内置auth库。我也想在数据库中插入。我想使用另一个数据库中的另一个表。
<input type="password" />
user.password = hashlib.sha224(user.password).hexdigest()
user.save()