我使用官方文档自定义Django认证创建了用户自定义模型,但是如何添加组和权限呢?我的Django版本为1.9。
您可以通过使用PermissionsMixin(https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#custom-users-and-permissions)来在自定义用户模型中使用组和权限。
只需像这样继承PermissionsMixin和您的自定义用户模型:
class CustomUser(AbstractBaseUser, PermissionsMixin):
然后,您可以以与默认的django.contrib.auth User模型完全相同的方式访问它。
('Group Permissions', {
'fields': ('groups', 'user_permissions', )
})
在 admin.py 中添加以下代码
app/admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import App
class AppAdminConfig(UserAdmin):
# ordering, list_display, etc..
fieldsets = (
# Other fieldsets
('Group Permissions', {
'classes': ('collapse',),
'fields': ('groups', 'user_permissions', )
})
)
admin.site.register(App, AppAdminConfig)
如果有人对整个代码的外观感兴趣,请查看此处。
class UserAdminConfig(UserAdmin):
model = CustomUser
fieldsets = (
# Other fieldsets
('Group Permissions', {
'fields': ('groups', 'user_permissions', )
}),
)
admin.site.register(CustomUser, UserAdminConfig)
admin.site.register(Group)
注册了 Group 模型? - Yasser Mohsen