0

当用户尝试访问不存在的站点页面时,我的 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

我做了一些谷歌搜索,发现关于错误报告的内容,并尝试将以下内容添加到 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$'),
)

如何解决此问题以避免在网站图标上收到有关服务器错误的电子邮件。

有人对此有想法吗?我错过了什么吗

在此先感谢您的帮助

4

2 回答 2

0

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

我在标题中添加了额外的几位。确保首先加载最小的图像,有关此的更多信息,您可以在此处阅读

{% 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

希望这对那里的人有用。

于 2013-03-11T15:08:21.983 回答
0

我认为,如果设备所有者将站点添加到其中,Apple 设备就会发出这些请求。

这相当于网站图标。解决方法是添加2个100×100的png文件,分别保存为apple-touch-icon-precomposed.png和apple-touch-icon.png,上传到服务器根目录。

对我来说,错误已经消失了。

于 2018-06-19T06:59:21.213 回答