Linux學習筆記-項目部署03

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
相關文章
相關標籤/搜索