[英]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.