В производстве я использую NGINX и устанавливаю псевдоним для статических файлов, так что это нормально.Django test server дает 404 статическим файлам
Однако в режиме тестового сервера я получаю 404 для всех статических файлов. Они расположены в основании проекта и здесь мои соответствующие настройки:
DEBUG = True
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
...
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
А вот мой urls.py
from django.contrib import admin
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
urlpatterns = patterns(
'',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'home.views.home', name='home'),
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
При запуске тестового сервера, я пытаюсь получить http://127.0.0.1:8000/static/home/img/logo.png
, который находится в $BASE_DIR/static/home/img/logo.png
, но получить 404.
'home/img/logo.png' could not be found
и в журнале тест сервера
[03/Feb/2015 17:49:08] "GET /static/home/img/logo.png HTTP/1.1" 404 1655
Любые идеи?
Вы настроили свои URL-до сервера статических файлов? https://docs.djangoproject.com/en/1.7/howto/static-files/#serving-static-files-during-development – Ben
Да, см. обновленный вопрос. – jdborg
Я думаю, что 'STATIC_DIRS' должно быть' STATICFILES_DIRS'. –