如何使django管理员徽标动态化?

时间:2019-06-22 21:52:34

标签: python django django-templates django-views django-cms

我正在使用django-cms管理员风格。通过遵循此处提到的解决方案,我设法更改了默认的DjangoCMS徽标: Django cms 3.4.1 admin dlogo

现在徽标是一个静态徽标,但是我希望它是动态徽标,这意味着它应该从存储位置的数据库中获取图像路径。

由于这些管理页面不是通过views.py呈现的,因此我无法将查询集发送给它。

有人可以建议如何做吗?

1 个答案:

答案 0 :(得分:0)

使用context_processors,我们可以做到这一点。

首先需要获取以下内容:https://github.com/divio/djangocms-admin-style/blob/master/djangocms_admin_style/templates/admin/inc/branding.html

branding.html文件必须放置在 admin / inc 文件夹下的 templates 文件夹内,因此结构类似于此templates/admin/inc/branding.html

现在假设通过context_processor我们得到了company_logo,它保存着数据库中的徽标URL。

然后在branding.html <div id="header-logo">中将如下所示:

<div id="header-logo">
    {% if company_logo %}
        <a href="/"><img src="{{ company_logo.url }}" style="height:inherit;"></a>
    {% else %}
        <a class="icon-logo" href="/"><span>django CMS</span></a>
    {% endif %}
</div>