把DEBUG從True改成False後就會出現404(必需指定404和500錯語頁面,如上圖的目錄結構)找不到頁面的錯誤。原因是DEBUG為 True時django會預設幫我們處理靜态檔案,而為False的話還需要我們做點事。在全局usrs.py中加下如下代碼:
from django.conf import settings
import django
if settings.DEBUG is False:
urlpatterns += [
url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': 'C:/Users/Administrator/Desktop/hctx/op/op/static' ,}),
]
複制
複制
或者
from django.conf import settings
import django
if settings.DEBUG is False:
urlpatterns += [
url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': settings.STATIC_ROOT,}),
]
複制
并在setting中添加
STATIC_ROOT = 'C:/Users/Administrator/Desktop/hctx/op/op/static'
複制
或者
#start
from django.conf import settings
import django
#end
if settings.DEBUG is False:
import os
STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static')
urlpatterns += [
url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': STATIC_ROOT ,}),
# url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': 'C:/Users/Administrator/Desktop/hctx/op/op/static' ,}),
]
複制
以上設定是指定靜态資源的絕對路徑(根據你電腦的具體路徑設定正确值),現在應該可以正确通路了。
總結:
- 在DEBUG為true時我們隻需要建立static目錄後,把靜态資源放進去就可以通路。在DEBUG為False時需要我們手動指定靜态資源目錄,并配置映射關系。
- 在正式環境下建議不采用django處理靜态資源檔案,這樣對應用伺服器壓力較大,也不好做cdn。可以用ngix,apache部署靜态資源。
相關連結:https://my.oschina.net/swrite/blog/168561