Django错误(外部IP):内部服务器错误:/ico/apple-touch-icon-precomposed.png

时间:2013-03-11 14:09:55

标签: python html django django-1.4

我的django应用程序当前正在发送错误报告,当用户试图访问网站中既不存在也不存在的页面时,这应该是它应该如何。

但是当我尝试通过我的平板电脑(Android和Apple)使用django应用程序时,我收到一封包含此错误的电子邮件

[Django] ERROR (EXTERNAL IP): Internal Server Error: /ico/apple-touch-icon-precomposed.png

我的html标题看起来像这样

{% load static %}
<link rel="icon" href="{% static 'favicon.ico' %}" type="x-icon" />

我的静态文件路径以防万一。

|-- static
    |-- css
    |-- img
    |-- js
    |-- ico
        |-- favicon.png
        |-- apple-touch-icon-precomposed.png
    |-- favicon.ico

我做了一些谷歌搜索,发现this有关错误报告,并尝试将以下内容添加到settings.py但没有运气。

import re
IGNORABLE_404_URLS = (
    re.compile(r'^/ico/apple-touch-icon-precomposed\.png$'),
    re.compile(r'^/favicon\.ico$'),
    re.compile(r'^/robots\.txt$'),
)

如何解决此问题以避免收到关于favicons上的服务器错误的电子邮件。

有人对此有所了解吗?我错过了什么

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

这可能很有趣,但这就是我解决问题的方法。

我在标题中添加了一些额外的内容。确保首先加载最小的图像,有关此问题的更多信息,您可以read here

{% load static %}
<link rel="icon" href="{% static 'favicon.ico' %}" type="x-icon" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{% static 'ico/apple-touch-icon-72-precomposed.png' %}" type="image/png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{% static 'ico/apple-touch-icon-114-precomposed.png' %}" type="image/png">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{% static 'ico/apple-touch-icon-144-precomposed.png' %}" type="image/png">
<link rel="icon" href="{% static 'ico/favicon.png' %}" type="image/png"> 

最后我将额外的图像添加到静态

|-- static
    |-- css
    |-- img
    |-- js
    |-- ico
        |-- favicon.png
        |-- apple-touch-icon-precomposed.png
        |-- apple-touch-icon-72x72-precomposed.png
        |-- apple-touch-icon-114x114-precomposed.png
        |-- apple-touch-icon-144x144-precomposed.png
    |-- favicon.ico

希望这对那里的人有用。

答案 1 :(得分:0)

<强>

我认为苹果设备会在设备所有者向其添加网站时发出这些请求。

这相当于favicon。要解决此问题,请添加2 100×100 png文件,将其另存为apple-touch-icon-precomposed.png和apple-touch-icon.png,然后将其上传到服务器的根目录。

对我而言,错误已经消失。