在制作中,我正在使用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
有什么想法吗?
答案 0 :(得分:1)
STATIC_DIRS
应为STATICFILES_DIRS