DEBUG=False時靜態文件沒法加載問題的解決。python
在正式部署到服務器以前,設置settings.py中的參數DEBUG=False,此時啓動django服務,但沒法加載靜態文件。 環境是Python3.6與Django2.1,web
出現的問題根本緣由是:當咱們在開發django應用時若是設置了 DEBUG = True,那麼django便會自動幫咱們對靜態文件進行路由;可是當咱們設置DEBUG = False後,這一功能便沒有了,此時靜態文件就會出現加載失敗的狀況,想要讓靜態文件正常顯示,咱們就須要配置靜態文件服務。django
對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仍是在服務器上啓動,都須要先運行以下命令,生成靜態文件目錄。url
python manage.py collectstatic