Django settings.Debug = False 后,无法找到static资源的解决方案
相比于 settings.Debug = True 时,需要改变的地方有两个:
1、 在 settings.py 中:
加入:
if DEBUG is True:
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
else:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
首先,这两个 STATICFILES_DIRS 和 STATIC_ROOT 不能同时设置,否则会报错。其次,现在这样设置,无论是将 DEBUG = True 还是 DEBUG = False,都无需多余的代码修改,便于开发。
2、在urls.py 中加入
from django.views import static
from django.conf import settings
urlpatterns = [
............
url(r'^static/(?P<path>.*)$', static.serve,
{'document_root': settings.STATIC_ROOT },
name='static'),
]