我怎样才能得到一个favicon显示在我的Django应用程序?

我只想把favicon.ico放在我的staticfiles目录下,然后让它显示在我的应用程序中。

我怎样才能做到这一点?

我把favicon.ico文件放在我的staticfiles目录下,但是没有显示出来,我在我的日志里看到这个:

 127.0.0.1 - - [21/Feb/2014 10:10:53] "GET /favicon.ico HTTP/1.1" 404 - 

如果我去http://localhost:8000/static/favicon.ico ,我可以看到图标。

如果你有一个基本或头文件模板,包括所有地方为什么不包括基本HTML的favicon?

 <link rel="shortcut icon" type="image/png" href="{{STATIC_URL}}/favicon.ico"/> 

一个轻量级的技巧是在你的urls.py文件中做一个redirect,比如像这样添加一个视图:

 from django.views.generic.base import RedirectView favicon_view = RedirectView.as_view(url='/static/favicon.ico', permanent=True) urlpatterns = patterns( ... url(r'^favicon\.ico$', favicon_view), ... ) 

当你没有其他的静态内容托pipe的时候,这可以作为一个简单的方法来获得图标的工作。

在模板文件中

 {% load staticfiles %} 

然后在<head>标签内

 <link rel="shortcut icon" href="{% static 'favicon.ico' %}"> 

这假设你已经在settings.py中适当地configuration了静态文件

奥拉
我find一个非常简单的解决scheme
只需将以下代码添加到您的html模板的标题
(更好的是,如果您的应用程序中的favicon是相同的,则为您的基本html模板)

 <link rel="shortcut icon" href="{% static 'favicon/favicon.png' %}"/> 

前面的代码假定:

  1. 您的静态文件夹中有一个名为“favicon”的文件夹
  2. 您的图标文件名称为“favicon.png”
  3. 您已经正确设置了设置variablesSTATIC_URL

你可以在Wikipedia这篇文章中find关于文件格式支持以及如何使用favicon的有用信息https://en.wikipedia.org/wiki/Favicon

编辑:
正如一个评论中所发表的,
“别忘了在模板文件的顶部添加{% load staticfiles %} !”

 <link rel="shortcut icon" href="{% static 'favicon/favicon.ico' %}"/> 

只需在第一个答案但ico扩展名的基本文件中添加,并将其添加到静态文件夹

最好的解决scheme是重写Django的base.html模板。 在admin目录下制作另一个base.html模板。 先创build一个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 %} 

如果你有权限然后

 Alias /favicon.ico /var/www/aktel/workspace1/PyBot/PyBot/static/favicon.ico 

将别名添加到您的虚拟主机。 (在Apacheconfiguration文件)类似的robots.txt

 Alias /robots.txt /var/www/---your path ---/PyBot/robots.txt