django靜態文件說明

1、static文件settings.py有如下配置

1.STATIC_ROOT:部署全部靜態文件聚合的目錄css

STATIC_ROOT = os.path.join(BASE_DIR,'static')    #是一個絕對路徑,如D:\項目路徑下\static    Django會把全部的static文件(如一些靜態文件css、js、背景圖片等)都複製到STATIC_ROOT文件夾(static)下html

2.STATIC_URL:映射本地靜態文件地址 (可經過瀏覽器訪問靜態文件)python

STATIC_URL = '/static/'   #相對路徑   至關於本地地址的STATIC_ROOTdjango

3.STATICFILES_DIRS:STATICFILES_DIRS就是告訴django,首先到STATICFILES_DIRS裏面尋找靜態文件,其次再到各個app下的static文件夾裏面找(注意:django查找靜態文件其實是惰性查找,找到第一個就中止查找了)瀏覽器

STATICFILES_DIRS = [app

      os.path.join(BASE_DIR,'static'),網站

      os.path.join(BASE_DIR,'media'),url

]視頻

設置了STATICFILES_DIRS後,可在templates模板中使用static標籤來加載靜態文件,要使用static標籤,就必須先要在html最上面加入{% load static %}htm

 *若是項目中用到了富文本或存儲其餘媒體文件,執行python manage.py collectstatic 會將富文本或其餘媒體文件下載到STATIC_ROOT指定的路徑中。(注意:下載以後註釋掉STATIC_ROOT,不然再次運行項目是會報錯。)

2、media的配置

1.MEDIA_ROOT = os.path.join(BASE_DIR,'media')  #絕對路徑   用於指定上傳文件的存儲路徑

2.MEDIA_URL = '/media/'    #至關路徑 指定url路徑  映射到MEDIR_ROOT存儲路徑

3.在模板中使用MEDIA_URL時,要在settings.py的TEMPLATES下的context_processors添加django.core.comtext_processors.media

4.設置路由urls.py

 

 

3、static和media的區別

參考博客:https://www.cnblogs.com/dreamkeeper/p/7749439.html

  • Static是不變的,造成網站的核心部件,如 CSS文件,JS文件,背景圖片等;
  • Media是變更的,由用戶定義的文件,如 用戶頭像, 用戶上傳的圖片或視頻等。
相關文章
相關標籤/搜索