【问题标题】:Django Admin override UserAminDjango Admin 覆盖 UserAmin
【发布时间】:2017-05-26 05:15:28
【问题描述】:

我用这个管理员代码来调整我的

class CustomUserAdmin(UserAdmin):
    list_display = UserAdmin.list_display + ('show_url', 'date_joined')

    def show_url(self, obj):
        return format_html("<a href='{url}'>Link</a>", url=obj.extendeduser.get_link())


admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

但管理员似乎忽略了这一点并显示了旧的管理页面。我可能错过了什么?

代码放在我称为“main”的应用程序的 admin.py 中,它在 INSTALLED_APPS 列表中列出:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sitemaps',
    'main',
    ...
]

【问题讨论】:

  • 您将此代码放在哪个文件中?
  • 根据@vanadium23的评论,它需要进入一个admin.py,该admin.py位于settings.py中INSTALLED_APPS中注册的应用程序中

标签: python django django-admin django-authentication


【解决方案1】:

要更轻松地创建自定义用户管理页面,请参阅:django-authtools

【讨论】:

  • 虽然有用,但这个技巧更适合评论而不是高质量的答案......
猜你喜欢
  • 2019-08-15
  • 2017-10-14
  • 2015-03-16
  • 2019-07-02
  • 2014-08-15
  • 2021-06-10
  • 2020-05-03
  • 2017-08-23
  • 2012-04-19
相关资源
最近更新 更多