Обслуживающий фавикон.Ико с Джанго. Почему настройки.Медиа URL с django.просмотр.родовой.простой.перенаправлять только на работу в среде dev?

Я нашел это решение для обслуживания favicon.Ико с Джанго.

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

какие идеи?

3 ответов


Я бы рекомендовал не обслуживать favicon с django, если вам абсолютно не нужно. Вместо этого поместите параметр в конфигурацию веб-сервера, который добавляет псевдоним, указывающий на 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'))
)