Django 1.3 - 无法注册我的自定义UserAdmin

4

我正在尝试注册一个带有memberprofile内联的自定义用户管理页面。根据stackoverflow答案和google的结果,我的admin.py文件如下:

class MemberProfileInline(admin.StackedInline):
    model = MemberProfile
    fk_name = 'user'


class FSUserAdmin(UserAdmin):
    list_display = ('id', 'username',)
    inlines = [MemberProfileInline,]

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

当我打开管理员页面时,FSUserAdmin中定义的更改没有生效。如果我注释掉了 </p>,那么页面就会以错误的格式呈现。
admin.site.register(User, FSUserAdmin)

我收到一个错误提示,说用户站点没有注册,所以我知道它已经成功取消注册了。
有人能提供一些见解吗?
更新: 在settings.py中的INSTALLED_APPS列表中,django.contrib.auth和django.contrib.admin出现在任何项目特定应用程序之前。
在我的项目urls.py中,我有以下内容:
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

你尝试过这里的答案吗?https://dev59.com/3XE95IYBdhLWcg3wi-Uc - Josh Smeaton
你的意思是@JamieForrest的评论,将其添加到站点顶级admin.py文件中吗? - w--
1个回答

0

请确保在您的INSTALLED_APPS设置中,此应用程序出现在contrib.auth之下。


所有的Django contrib应用程序都出现在我的项目特定应用程序之前。我没有发布它,因为我认为如果没有这样做,取消注册的调用将不起作用。 - w--
2
我的另一个建议是确保在你的urls.py中有admin.autodiscover()。如果你手动导入管理模块,那么也许用户管理员没有被注册,所以不需要注销它!希望你能让它正常工作。 - Alasdair
是的,在根urls.py中我有admin.autodiscover(),我没有手动导入管理模块 = \。感谢您的建议。 - w--

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接