Sirviendo favicon.ico con django. ¿Por qué settings.media_url con django.views.generic.simple.redirect_to solo funciona en el entorno de desarrollo?
-
27-09-2019 - |
Pregunta
Encontré esta solución para servir favicon.ico con django.
(r'^favicon\.ico$',
'django.views.generic.simple.redirect_to',
{'url': settings.MEDIA_URL+'images/favicon.ico'}),
No entiendo por qué solo funciona para el servidor de desarrollo. Ir a /favicon.ico funciona en dev, no con debug=False
. Debe redirigir a /media/images/favicon.ico (servido por Apache), que funciona si accede directamente.
¿Algunas ideas?
Solución
Recomendaría que no sirva al favicon con Django a menos que tengas que hacerlo. En su lugar, colocar una configuración en la configuración de su servidor web que agrega un alias que apunta al Favicon.
Por ejemplo, en Apache:
Alias /favicon.ico /path/to/media_url/images/favicon.ico
Otros consejos
Esta no es una respuesta directa a su pregunta, pero puede usar esto para Favicon:
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
redirect_to ha sido Deprecido en Django 1.5. Puede usar la vista basada en la clase 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'))
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow