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

时间:2012-09-14 11:40:28

标签: python django

我使用的是django 1.4。创建新用户时,它会保存纯密码。是否有设置,所以在保存用户时,密码是加密保存的?

修改

我只是使用内置的管理功能来添加用户。没什么好看的 - 只是内置的auth模块和在admin中自动创建的用户表单。


更多修改

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

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

1 个答案:

答案 0 :(得分:10)

创建用户时,您应该使用create_user经理方法。

如果您要创建自定义表单,请继承UserCreationFormUserChangeForm之一。如果您要创建自定义ModelAdmin,请创建子类UserAdmin。否则,您必须自己重新实现密码散列功能。

请注意,密码将进行哈希处理,而不是加密(即您无法对其进行解密)。