Django.contrib.auth.admin中的UserAdmin():用户密码重置与修改
发布时间:2023-12-25 04:19:12
Django.contrib.auth.admin模块中的UserAdmin类是Django提供的一个可配置的管理界面,用于管理用户的相关信息,包括密码的重置与修改。下面是一个使用例子。
首先,你需要在你的Django项目的settings.py中配置好认证系统,将auth应用添加到INSTALLED_APPS中,并将AUTH_USER_MODEL设置为你的用户模型。
INSTALLED_APPS = [
...
'django.contrib.auth',
...
]
AUTH_USER_MODEL = 'your_app.CustomUser'
然后,在你的应用的admin.py文件中导入UserAdmin类,并注册你的用户模型。
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User
from .models import CustomUser
# 定义一个自定义的UserAdmin类,继承自BaseUserAdmin
class UserAdmin(BaseUserAdmin):
# 定义密码重置与修改的表单字段
fieldsets = (
(None, {'fields': ('username', 'password')}),
('Personal info', {'fields': ('email',)}),
('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser',)}),
('Important dates', {'fields': ('last_login', 'date_joined',)}),
)
# 定义新增用户时的表单字段
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2'),
}),
)
# 注册你的用户模型,并指定你定义的UserAdmin类
admin.site.register(CustomUser, UserAdmin)
通过以上代码,你已经将UserAdmin类应用到你的用户模型上,并自定义了密码重置与修改的表单字段。
在管理界面中,当你编辑用户时,你可以看到密码字段,并且你可以重置和修改密码。当你添加新用户时,你可以看到两个密码字段用于输入密码。
除此之外,Django还提供了一些其他的管理功能,如用户搜索、过滤、排序等。
上述内容仅仅是使用Django.contrib.auth.admin中UserAdmin类的基本使用例子,你可以根据实际需求进行更多的定制化处理。
