質問

firstly, sorry if this problem was already solved, but I couldn't find solution anywhere.

I created two admin instances in Django, here's my admin.py sample code:

class ConferenceRoomAdmin(admin.ModelAdmin):
    readonly_fields = ('token', 'image_tag')

class ConferenceRoomSuperAdmin(admin.ModelAdmin):
    readonly_fields = ('token', 'image_tag')


class ConferenceAdmin(admin.AdminSite):
    def get_urls(self):
        urls = super(ConferenceAdmin, self).get_urls()
        return urls

admin_site = ConferenceAdmin()
admin_site.register(ConferenceContext)
admin_site.register(ConferenceRoom, ConferenceRoomAdmin)


class ConferenceSuperAdmin(admin.AdminSite):
    pass

super_admin_site = ConferenceSuperAdmin()
super_admin_site.register(ConferenceRoom, ConferenceRoomSuperAdmin)

and urls.py file:

url(r'^admin/', include(admin.admin_site.urls)),
url(r'^myadmin/', include(admin.super_admin_site.urls)),
url(r'^login/', views.login_view),
url(r'^test/', views.test_view),

I'm able to login to both admin instances, however, if I log into 'myadmin' instance and click on any link (i.e. change password or edit users, etc. etc) I'm redirected to 'admin' site. What may be wrong here?

Thanks in advance!

役に立ちましたか?

解決

Try adding a name attribute to the second admin site, like so:

super_admin_site = ConferenceSuperAdmin(name = 'super_admin')

That is the only difference between your code and mine, as far as I can tell.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top