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

Django test server gives 404 to static files

在生产环境中,我使用的是 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)

当运行测试服务器时,我尝试获取位于$BASE_DIR/static/home/img/logo.pnghttp://127.0.0.1:8000/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

有什么想法吗?

STATIC_DIRS 应该是 STATICFILES_DIRS