处理所有的网站一次性根源静态文件,如favicon.ico可靠和优雅?
也许我错过了一些东西(我希望我是这样),但是要处理浏览器请求的一次性根网站文件,如favicon.ico和像apple-touch-icon这样的东西似乎非常笨重-precomposed.png(在iPad上)。 现在,我遇到一个500服务器错误,每当我遇到这些我没有明确提供一个文件。
我的问题:
-
是否有最新的所有主stream浏览器的这样的文件列表,我的web应用程序应该处理?
-
作为一个失败的安全,有没有办法让这些文件中的任何一个默默地失败,也就是说,如果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' %} />