python - 为什么django不保存加密密码?

标签 python django

我使用的是 Django 1.4。创建新用户时,它会保存普通密码。是否有设置以便在保存用户时加密保存密码?

编辑

我只是使用内置的管理功能来添加用户。没什么特别的——只有内置的身份验证模块和在管理中自动创建的用户表单。


更多编辑

我需要一些自定义字段,所以我使用了自定义类:

class UserForm(forms.ModelForm):
    class Meta:
        model = User
    ...
    ...

最佳答案

你应该使用 create_user创建用户时的manager方法。

如果您要创建自定义表单,请将 UserCreationForm 中的一个子类化或 UserChangeForm .如果您要创建自定义 ModelAdmin,则子类化 UserAdmin。否则,您将不得不自己重新实现密码散列功能。

请注意,密码将被散列,而不是加密(即您无法解密)。

关于python - 为什么django不保存加密密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12423796/

相关文章:

Python 测试嵌套 json - 列表索引超出范围错误

python - 将对角线渐变倾斜为垂直

django - 在 Django 中隐藏内联表单

django - 是否可以设置django-tastypie对象键?

python - Django 排除列表中*每个*项目的查询集 __in

python - 在 Python 中用 NaN 替换数值

python - 为什么Python的内置函数没有代码对象?

python - 在 Python 中执行 Dunnett 的多重比较测试

python - Django 没有安装在 virtualenv 中

django - 使用 Django REST API 维护 session