Подтвердить что ты не робот

Обслуживание 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), который работает, если вы напрямую обращаетесь к нему.

Любые идеи?

4b9b3361

Ответ 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'))
)