Обслуживание favicon.ico с Django. Почему settings.MEDIA_URL с django.views.generic.simple.redirect_to работает только в среде dev?
Я нашел это решение для обслуживания favicon.ico с django.
(r'^favicon\.ico$',
'django.views.generic.simple.redirect_to',
{'url': settings.MEDIA_URL+'images/favicon.ico'}),
Я не понимаю, почему он работает только для сервера разработки.
Переход на /favicon.ico работает на dev, не с debug=False
.
Он должен перенаправляться на /media/images/favicon.ico(обслуживается apache), который работает, если вы напрямую обращаетесь к нему.
Любые идеи?
Ответы
Ответ 1
Я бы порекомендовал вам не выступать в favicon с django, если вам не нужно. Вместо этого добавьте параметр в конфигурацию вашего веб-сервера, который добавит псевдоним, указывающий на значок.
Например, в apache:
Alias /favicon.ico /path/to/media_url/images/favicon.ico
Ответ 2
Это не прямой ответ на ваш вопрос, но вы можете использовать его для favicon:
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
Ответ 3
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'))
)