Linux學習筆記-專案部署03
阿新 • • 發佈:2019-02-26
DEBUG=False時靜態檔案無法載入問題的解決。
1、問題描述
在正式部署到伺服器之前,設定settings.py中的引數DEBUG=False,此時啟動django服務,但無法載入靜態檔案。 環境是Python3.6與Django2.1,
2、原因分析
出現的問題根本原因是:當我們在開發django應用時如果設定了 DEBUG = True,那麼django便會自動幫我們對靜態檔案進行路由;但是當我們設定DEBUG = False後,這一功能便沒有了,此時靜態檔案就會出現載入失敗的情況,想要讓靜態檔案正常顯示,我們就需要配置靜態檔案服務。
3、解決方案
對web_02\setting.py進行修改:
from django.contrib import admin from django.urls import path from django.conf.urls import url, include from django.views import static #新增 from django.conf import settings #新增 urlpatterns = [ path('admin/', admin.site.urls), url(r'', include('pages.urls')), url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='static'), #新增 ]
注意,配置靜態檔案服務後,無論是在本機啟動django還是在伺服器上啟動,都需要先執行如下命令,生成靜態檔案目錄。
python manage.py co