[英]No user link in auth section of Django admin
I am trying to implement a custom user model, but under the auth url localhost:8000/admin/auth/
of the Django admin website my model is not showing up.我正在尝试实现自定义用户模型,但是在 Django 管理网站的 auth url
localhost:8000/admin/auth/
下,我的模型没有显示出来。
I found an answer at the link below to the overall problem, but when trying to implement it myself I still do not see the users in the auth section of the Django admin.我在下面的链接中找到了整个问题的答案,但是当我自己尝试实现它时,我仍然没有在 Django 管理员的 auth 部分看到用户。
No “Users” link in “Auth” section of Django admin site Django 管理站点的“Auth”部分中没有“Users”链接
what am I doing wrong here ?我在这里做错了什么?
models.py模型.py
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
admin.py管理文件
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)
forms.py表格.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")
I faced the same problem:我遇到了同样的问题:
My solution was basically to put django groups into my app to have it displayed in the same section, because django creates admin sections for each app.我的解决方案基本上是将 django 组放入我的应用程序中,使其显示在同一部分中,因为 django 为每个应用程序创建了管理部分。
models.py
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
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.