我知道这已经晚了 7 年,但我想指出,因为我遇到过你的情况。如果您的目的是获取所有应用程序(应用程序列表)及其各自的模型,那么您可以使用available_apps
而不是app_list
,available_apps
可以在所有管理页面中访问(参见下面的site.py代码)
def each_context(self, request):
"""
Return a dictionary of variables to put in the template context for
*every* page in the admin site.
For sites running on a subpath, use the SCRIPT_NAME value if site_url
hasn't been customized.
"""
script_name = request.META['SCRIPT_NAME']
site_url = script_name if self.site_url == '/' and script_name else self.site_url
return {
'site_title': self.site_title,
'site_header': self.site_header,
'site_url': site_url,
'has_permission': self.has_permission(request),
'available_apps': self.get_app_list(request), #this one
'is_popup': False,
}