[英]No user link in auth section of Django admin
我正在尝试实现自定义用户模型,但是在 Django 管理网站的 auth url localhost:8000/admin/auth/
下,我的模型没有显示出来。
我在下面的链接中找到了整个问题的答案,但是当我自己尝试实现它时,我仍然没有在 Django 管理员的 auth 部分看到用户。
Django 管理站点的“Auth”部分中没有“Users”链接
我在这里做错了什么?
模型.py
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
管理文件
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationForm, CustomUserChangeForm
CustomUser = get_user_model()
class CustomUserAdmin(UserAdmin):
form = CustomUserChangeForm
add_form = CustomUserCreationForm
model = CustomUser
list_display = (
"email",
"username",
)
fieldsets = (
(None, {"fields": ("email", "password")}),
("Permissions", {"fields": ("is_admin", "groups", "user_permissions")}),
)
admin.site.register(CustomUser, CustomUserAdmin)
表格.py
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = get_user_model()
fields = ("email", "username")
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = get_user_model()
fields = ("email", "username")
我遇到了同样的问题:
我的解决方案基本上是将 django 组放入我的应用程序中,使其显示在同一部分中,因为 django 为每个应用程序创建了管理部分。
models.py
创建自己的组模型作为代理对象from django.contrib.auth.models import Group as DjangoGroup
...
class Group(DjangoGroup):
class Meta:
proxy = True
verbose_name = _('group')
verbose_name_plural = _('groups')
admin.py
注册您的模型from django.contrib.auth.admin import GroupAdmin as DjangoGroupAdmin
from django.contrib.auth.models import Group as DjangoGroup
from .models import CustomUser, Group
...
admin.site.register(CustomUser, CustomUserAdmin)
admin.site.unregister(DjangoGroup)
admin.site.register(Group, DjangoGroupAdmin)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.