我正在尝试创建一个名为 Username 的简单模型,如下所示:
class User(models.Model):
username = models.CharField(max_length=100) #Id is automatically generated by Django
password = models.CharField(max_length=100)
这是我正在尝试创建的 Django 模型。问题是用户名和密码属性存储为 CharField,而我希望密码存储为 ** 或数据库中的加密形式。似乎他们没有像 Django 中的 CharField 这样的 PasswordField。最好的方法是什么?
最佳答案
根据THE DOCS这是
password = forms.CharField(
widget=forms.PasswordInput(render_value=False),
label="Your Password"
)
这导致了
<input type="password" />
以您渲染的形式
关于您的存储部分,您需要存储密码的哈希值,而不是 * 列表,否则您将无法检索它。您可以使用 hashlib模块
user.password = hashlib.sha224(user.password).hexdigest()
user.save()
当然,在实现这一点时你必须非常注意。以上只是一个简单的示例,请查看文档以进一步学习
关于django - Django 模型中的密码字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14193622/