1. 程式人生 > >Linux學習筆記-專案部署03

Linux學習筆記-專案部署03

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