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

Django admin add context to index.html

我正在尝试覆盖 Django 管理 index.html 以显示 table 包含来自模型的最新 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

对我来说添加额外上下文的方法是使用上下文处理器。此处解释:

Django documentation