我在设置中DEBUG=False
时获取静态文件404。 DEBUG=True
时,该文件可以正常使用。
我正在查看文档,我的所有配置对我来说都没问题。
# my_settings.py
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/`
然后我运行collectstatic --settings=my_settings
和ls
static
以确认已收集文件。它有:
ls ls static/css/core.css
# (its there).
但是当我们要求" localhost:8000 / static / css / core.css"我们得到404。
注意,运行python manage.py findstatic css/core.css --settings=my_settings
无法找到该文件。当我执行DEBUG=True
并运行findstatic
时,它会找到该文件,但是在子应用的静态目录中,而不是收集的目录(STATIC_ROOT
)。
注意我有:
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
和" staticfiles"在我的INSTALLED_APPS
。
Django 1.6
答案 0 :(得分:1)
正如您在设置中指定DEBUG = FALSE
一样,它现在留在HTTP服务器上,如nginx或apache,以提供静态文件。您需要配置Web服务器以提供静态文件。可以找到apache的示例here。