2016-01-23 47 views
4

我需要爲django管理界面設置一個favicon。在django中設置了favicon admin

最好在全球範圍內完成,而不是覆蓋所有應用程序的模板。

乾淨的方法是什麼?我試着搜索Django文檔,但沒有發現任何東西。

回答

3

如果圖標是在 '/app/static/img/favicon.ico',其鏈接到該文件的{%塊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。

0

template/admin/base_site.html模板擴展admin/base.html並添加extrahead

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

覆蓋Django的base.html文件模板圖標鏈接,並把它放在admin目錄下像app/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 %} 
相關問題