kur*_*tgn 11 django favicon templates admin django-admin
我需要为django管理界面设置一个favicon.
最好是在全球范围内完成,而不是覆盖所有应用程序的模板.
最干净的方法是什么?我尝试搜索Django文档,但没有找到任何结果.
use*_*918 10
如果favicon位于'/app/static/img/favicon.ico',请将其链接到此文件的{%block extrahead%}:'/ app/template/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 %}
Run Code Online (Sandbox Code Playgroud)
在settings.py INSTALLED_APPS中,请确保您的应用在django.contrib.admin之前列出.
通过删除.pyc文件来测试摆脱模板缓存:"$ find.-name \"*.pyc \" - delete".
适用于Django 1.8.12 Firefox,Chrome.
为了避免复制原始文件的任何内容,您实际上可以在扩展模板时覆盖它(docs)。所以创建你自己的template/admin/base_site.html
:
{% extends "admin/base_site.html" %}
{% load static %}
{% block extrahead %}
<link rel="shortcut icon" href="{% static 'yourapp/img/favicon.ico' %}" />
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
小智 6
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 %}
Run Code Online (Sandbox Code Playgroud)
Django 版本 >= 2
请注意,如果使用 Django 2 或更高版本,正确的导入是:
{% load static %}`
Run Code Online (Sandbox Code Playgroud)
小智 5
覆盖 Django base.html 模板并将其放在 admin 目录下,例如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 %}
Run Code Online (Sandbox Code Playgroud)