与django一起服务favicon.ico。为什么witchings.media_url with django.views.generic.simple.redirect_to仅在开发环境上工作?
-
27-09-2019 - |
题
我找到了与django一起使用favicon.ico的解决方案。
(r'^favicon\.ico$',
'django.views.generic.simple.redirect_to',
{'url': settings.MEDIA_URL+'images/favicon.ico'}),
我不明白为什么它仅适用于开发服务器。去 /favicon.ico在开发方面工作,不使用 debug=False
。它应该重定向到/media/images/favicon.ico(由Apache服务),如果您直接访问它,它确实有效。
有任何想法吗?
解决方案
除非您绝对需要,否则我建议不要与Django一起服务。取而代之的是,将设置放在Web服务器配置中,该设置添加了指向Favicon的别名。
例如,在Apache中:
Alias /favicon.ico /path/to/media_url/images/favicon.ico
其他提示
这不是对您的问题的直接答案,但是您可以将其用于Favicon:
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
redirect_to已经 在Django 1.5中弃用. 。您可以使用基于类的RedirectView
from django.conf import settings
from django.views.generic import RedirectView
urlpatterns = patterns('',
(r'^favicon\.ico$', RedirectView.as_view(url=settings.MEDIA_URL + 'images/favicon.ico'))
)
不隶属于 StackOverflow