Django: admin.site.site_header установлен, но не виден для собственных страниц - PullRequest
0 голосов
/ 28 ноября 2018

Я установил 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 по умолчанию видна.

Что я делаю не так?

1 Ответ

0 голосов
/ 28 ноября 2018

С помощью пользователя 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):
    ....
...