Django管理员将上下文添加到index.html

问题描述

我正在尝试覆盖Django admin index.html,以显示表包含模型中的最新5条记录

我设法在应用中使用以下内容覆盖了模板:

from django.contrib import admin

admin.site.index_template = 'admin/dashboard.html'
admin.autodiscover()

但是我不知道如何将模型中的最新记录作为上下文添加到index.html

希望有人可以帮助我

解决方法

class CustomAdminSite(admin.AdminSite):

    def index(self,request,extra_context=None):
        extra_context = extra_context or {}
        # Add your context here
        return super(CustomAdminSite,self).index(request,extra_context)

admin_site = CustomAdminSite()

别忘了用admin替换默认的admin_site

,

对我来说添加额外上下文的方法是使用上下文处理器。此处解释:https://stackoverflow.com/a/34903331/13436391

Django documentation