用户管理在Django admin中不可用

时间:2015-06-15 23:42:07

标签: django django-admin

自从我开始在Django admin中使用自定义AdminSite类以来,我无法再编辑用户了。

请帮我再次使用此功能。

1 个答案:

答案 0 :(得分:1)

许多第三方应用程序使用默认管理员,因此您的问题不仅涉及身份验证模型。我已经解决了这个问题:

# project_root/project/admin.py

from django.contrib.admin.sites import AdminSite, site

class CustomAdminSite(AdminSite):
    pass

admin_site = CustomAdminSite()

# registering to custom admin site all the models from default admin site
for model_cls, admin_obj in list(site._registry.items()):
    admin_site.register(model_cls, type(admin_obj))

另外根据我的经验,我想要注意,很少需要自定义管理站点,因为几乎所有内容都可以针对默认管理站点进行自定义。所以现在在我的项目中我更喜欢这样做:

# project_root/project/admin.py

from django.contrib import admin

admin.site.site_header = 'Custom header'
admin.site.site_title = admin.site.site_header
admin.site.index_title = 'Custom index title'
admin.site.index_template = 'admin/custom_index.html'
admin.site.app_index_template = 'admin/custom_app_index.html'

...等。 https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#adminsite-objects