我按照文档中的说明设置了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字符串可见。
我在做什么错了?
答案 0 :(得分:1)
在用户Alasdair的帮助下,我找到了以下解决方案:
由于我有多个需要该上下文变量的视图,因此我编写了一个Mixin:
function getNode(node) {
if (node.title === 'randomNode_3') {
return true;
} else if (!node.children && !node.id) {
return false;
} else {
if (node.children) {
for (var i = 0; i < node.children.length; i++) {
getNode(node.children[i])
}
}
}
}
getNode(data[0])
PageMixin的用法:
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