我在我的Django应用中使用AbstractBaseUser
和UserCreationForm
。通过我的应用程序注册用户时,密码以散列格式保存并保存在数据库中。但是当我尝试使用Django管理站点做同样的事情时,密码将以原始格式保存。
答案 0 :(得分:4)
您需要确保模型管理员类知道如何散列密码。根据{{3}},如果您使用的是子类AbstractBaseUser
,那么您可以扩展UserAdmin
。
假设您的自定义用户模型名为CustomUser
,您可以尝试以下操作。
from django.contrib.auth.admin import UserAdmin
class CustomUserAdmin(UserAdmin):
...
admin.site.register(CustomUser, CustomUserAdmin)
答案 1 :(得分:0)
我想问题是你在admin.py中从django.contrib.auth.admin继承了ModelAdmin而不是UserAdmin。
示例代码:
from django.contrib.auth.admin import UserAdmin
from .models import Employee
class EmployeeAdmin(UserAdmin):
pass
admin.site.register(Employee, EmployeeAdmin)