[Django2.0] 靜態檔案處理

最近將Django要搬到正式環境,所要將settings中的Debug模式關掉,卻發生靜態文件無法讀取的問題,相信這是在使用Djanog很常遇到的問題,先記錄下來,我有兩個靜態目錄,一個用來存放像是JS、網站logo等這種叫做’static’,另一個是用來存放使用者上傳的圖片,之後要顯示出來,取名為’media’.

Django 2.0

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = False
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'

urls.py

from django.views.static import serve



urlpatterns = [
   .....
    re_path(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *