继承AdminSite但无法访问父类中的get_app_list(对象没有属性'get_app_list')

时间:2015-10-13 15:09:54

标签: python django django-admin

我正在自定义管理页面,但在访问django.contrib.admin.AdminSite方法时遇到了一些问题。我是Django的新手,所以如果我的错误是愚蠢的话,请放轻松。

我尝试在AdminSite

中扩展index并覆盖admin.py
class MyAdmin(admin.AdminSite):
    @never_cache
    def index(self, request, extra_context=None):
        """
        Displays the main admin index page, which lists all of the installed
        apps that have been registered in this site.
        """
        app_list = super(MyAdmin, self).get_app_list(request)

        context = dict(
            self.each_context(request),
            title=self.index_title,
            app_list=app_list,
        )
        context.update(extra_context or {})

        request.current_app = super(MyAdmin, self).name

        return TemplateResponse(request, super(MyAdmin, self).index_template or
                                'admin/testing.html', context)

admin_site = MyAdmin(name='myadmin')

我也试图保留

self.get_app_list(request)

但两人都给了我同样的问题

  

/ myadmin /'super'对象的AttributeError没有属性   'get_app_list'

  

/ myadmin /'self'对象中的AttributeError没有属性   'get_app_list'

我已使用正确的设置更改了urls.pysettings.py

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

不知道你有什么想法,但是看一下源代码,django 1.9中引入了get_app_list辅助方法。

以下是源代码的链接。

显然,看起来你正在使用django< = 1.8.5