Django:admin.site.site_header集,但对自己的页面不可见



我像文档中解释的那样设置admin.site.site_header = 'Fooo'

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.AdminSite.site_header

这对所有正常的管理页面都很好。

我有一个额外的(自定义(页面,我想看起来像管理页面。

我在模板中使用{% extends 'admin/base_site.html' %}

在此页面上,不会显示site_header"Fooo"。默认的django字符串是可见的。

我做错了什么?

在用户Alasdair的帮助下,我找到了这个解决方案:

由于我有几个视图需要这个上下文变量,我写了一个Mixin:

from django.contrib import admin
class PageMixin(object):
def get_context_data(self, **kwargs):
context = super(PageMixin, self).get_context_data(**kwargs)
context['site_header'] = admin.site.site_header
return context

PageMixin:的使用

class WebTestView(PageMixin, FormView):
....

最新更新