自从我开始在Django admin中使用自定义AdminSite类以来,我无法再编辑用户了。
请帮我再次使用此功能。
答案 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