Servire favicon.ico con django. Perché impostazioni.media_url con django.views.generic.simple.direct_to funziona solo sull'ambiente Dev?
-
27-09-2019 - |
Domanda
Ho trovato questa soluzione per servire favicon.ico con django.
(r'^favicon\.ico$',
'django.views.generic.simple.redirect_to',
{'url': settings.MEDIA_URL+'images/favicon.ico'}),
Non capisco perché funzioni solo per il server di sviluppo. Andare a /favicon.ico funziona su Dev, non lo fa debug=False
. Dovrebbe reindirizzare a /media/images/favicon.ico (servito da Apache), che funziona se lo accedi direttamente.
Qualche idea?
Soluzione
Consiglierei di servire il Favicon con Django a meno che tu non debba assolutamente. Invece, inserire un'impostazione nella configurazione del server web che aggiunge un alias che punta a Favicon.
Ad esempio, in Apache:
Alias /favicon.ico /path/to/media_url/images/favicon.ico
Altri suggerimenti
Questa non è una risposta diretta alla tua domanda, ma puoi usarlo per Favicon:
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
Redirect_to è stato Deprecate in Django 1.5. È possibile utilizzare RediRectView basato su classe
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'))
)