Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django模型中的PasswordField?_Django - Fatal编程技术网

Django模型中的PasswordField?

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,而我

我正在尝试创建一个名为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,而我希望在数据库中以**或加密形式存储密码。看起来他们没有像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()