处理所有的网站一次性根源静态文件,如favicon.ico可靠和优雅?

也许我错过了一些东西(我希望我是这样),但是要处理浏览器请求的一次性根网站文件,如favicon.ico和像apple-touch-icon这样的东西似乎非常笨重-precomposed.png(在iPad上)。 现在,我遇到一个500服务器错误,每当我遇到这些我没有明确提供一个文件。

我的问题:

  1. 是否有最新的所有主stream浏览器的这样的文件列表,我的web应用程序应该处理?

  2. 作为一个失败的安全,有没有办法让这些文件中的任何一个默默地失败,也就是说,如果Web应用程序继续其快乐的方式,不会得到一个500服务器错误,只需使用一个空白的favicon或什么?

我在Heroku上运行一个Django应用程序,用gunicorn。

我从来没有从无效的url500错误,因为我使用STATIC_URL和基于类的RedirectView

通常我有一个专门的应用程序,并将其包含在根urls.py中

#urls.py include('oneoff.urls', name='oneoff')` 

 #oneoff/urls.py urlpatterns = ( '', url(r'favicon.ico$', RedirectView.as_view(url=urlparse.urljoin(settings.STATIC_URL, "img/favicon.ico")), name="favicon" ), url(r'icon-precomposed.png', RedirectView.as_view(url=urlparse.urljoin(settings.STATIC_URL, "img/iphone/icon.png")), name="iphone" ), ) 

然后在模板中

 {% load url from future %} <link rel="favicon" href="{% url 'oneoff:favicon' %} />