Django测试服务器给404静态文件

时间:2015-02-03 17:56:43

标签: python django django-staticfiles

在制作中,我正在使用NGINX并为静态文件设置别名,所以这很好。

但是,在测试服务器模式下,我获得了所有静态文件的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的{​​{1}},但获得404。

$BASE_DIR/static/home/img/logo.png

并在测试服务器日志中

'home/img/logo.png' could not be found

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

STATIC_DIRS应为STATICFILES_DIRS