Reputation: 19
I'm trying to redirect the default browsers request of /favicon.ico to serve the picture from my static folder and I get a 404(server log screenshot).
STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
from django.contrib import admin
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import include, path
from django.views.generic.base import RedirectView
urlpatterns = [
path('admin/', admin.site.urls),
path(
'favicon.ico',
RedirectView.as_view(url=staticfiles_storage.url('upload.ico'))
),
path('', include('uploader.urls'))
]
My directory structure:
../
├ imguploader/
| ├ __init__.py
| ├ settings.py
| ├ urls.py
| └ wsgi.py
├ static/
| ├ admin/
| └ upload.ico
├ manage.py
|...
Upvotes: 1
Views: 2006
Reputation: 41
You can set STATICFILES_DIRS in settings.py, works for me:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
urls.py:
from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.views.generic.base import RedirectView
urlpatterns = [
path('favicon.ico', RedirectView.as_view(url=settings.STATIC_URL + 'favicon.ico')),
path('admin/', admin.site.urls),
]
Upvotes: 4