web-dev-qa-db-ja.com

Django adminにファビコンを設定

Django管理インターフェースのファビコンを設定する必要があります。

すべてのアプリのテンプレートをオーバーライドせずに、グローバルに実行するのが最善です。

それを行う最もクリーンな方法は何ですか? Djangoドキュメントを検索してみましたが、何も見つかりませんでした。

14
kurtgn

ファビコンが '/app/static/img/favicon.ico'にある場合は、このファイルの{%block extrahead%}にリンクします: '/ app/templates/admin/base_site.html'

    {% extends "admin/base.html" %}

    {% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}

    {% block extrahead %}
        <link rel="icon" href="{{STATIC_URL}}img/favicon.ico" sizes="48x48" />
    {% endblock %}
    {% block branding %}
        <h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
    {% endblock %}

Settings.py INSTALLED_APPSで、アプリがDjango.contrib.adminの前にリストされていることを確認してください。

.pycファイルを削除してテンプレートキャッシュを削除することをテストするには、「$find。-name\ "* .pyc \"-delete」を実行します。

Django 1.8.12 Firefox、Chromeで動作します。

12
user3526918

Django base.htmlテンプレートをオーバーライドして、my_app/templates/admin/base.html.のような管理ディレクトリに配置します

オーバーライドするテンプレートに{% block extrahead %}を追加します。

   {% extends 'admin/base.html' %}
    {% load staticfiles %}
    {% block javascripts %}
        {{ block.super }}
    <script type="text/javascript" src="{% static 'app/js/action.js' %}"></script>

    {% endblock %}

    {% block extrahead %}
        <link rel="shortcut icon" href="{% static 'app/img/favicon.ico'  %}" />
    {% endblock %}
    {% block stylesheets %}

        {{ block.super }}
    {% endblock %}
3
Basant Kumar

延長admin/base.htmlあなたのtemplate/admin/base_site.htmlテンプレートを作成し、ファビコンリンクをextraheadブロックに追加します

{% extends "admin/base.html" %}
{% load staticfiles %}
...
{% block extrahead %}
    <link rel="shortcut icon" href="{% static 'relative/path/to/favicon.ico' %}" />
{% endblock %}
2
Antstud