Django 靜態文件配置

一、靜態文件配置


在 settings.py 文件的最后添加

10年積累的做網站、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有平山免費網站建設讓你可以放心的選擇與我們合作。

# settings.py 
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/

# STATIC SETTINGS
STATIC_URL = '/static/'

# BASE_DIR 是項目的絕對地址
STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static')

# 以下不是必須的  各個app共用的文件可以放在這
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'common_static'),
)

二、各個文件夾的作用


STATIC_ROOT

  • 是在部署的時候才發揮作用,執行 python managy.py collectstatic,會在工程文件下生成(STATIC_ROOT)文件夾,把各個app下的靜態文件收集到這個目錄下。當然,需要配置Nginx。

STATICFILES_DIRS 靜態文件的安放位置有兩種 app/static

  • 在每個app里面新建一個static文件夾,將靜態文件放到里面在加載靜態文件時。
  • 例如要在模板中用到靜態文件,Django 會自動在每個app里面搜索 static文件夾。
  • STATICFILES_DIRS 在所有的 app 文件外面,manage.py 同級目錄下創建common_static目錄公共的文件夾,也就是 STATICFILES_DIRS: common_static。
  • 因為有些靜態文件不是某個app 獨有的,那么就可以把它放到一個公共文件夾里面,方便管理。
  • 注意,建立一個公共的靜態文件的文件夾只是一種易于管理的做法,但是不是必須的,app是可以跨app應用靜態文件的,因為最后所有的靜態文件都會在STATIC_ROOT里面存在。
  • 那現在的問題是:如何讓 Django 知道你把一些靜態文件放到app 以外的公共文件夾中呢,那就需要配STATICFILES_DIRS了。

STATIC_URL 靜態路由映射。

  • Django 利用 STATIC_URL來讓瀏覽器可以直接訪問靜態文件。

三、Django靜態文件的引用


兩個查找路徑,在 static 標簽中引用文件時有兩個查找路徑:

  • app下的 static
  • 工程下的commen_static(STATICFILES_DIRS)

查找機制:

  • STATICFILES_DIRS 告訴 Django。
  • 首先,到 STATICFILES_DIRS 里面尋找靜態文件。
  • 其次,再到各個app的 static 文件夾里面找。
  • django 查找靜態文件是惰性查找,查找到第一個,就停止查找了。

四、STATIC_URL 詳解


Django 用 STATIC_URL來讓瀏覽器可以直接訪問靜態文件,例如:STATIC_URL = '/static/'

瀏覽器上輸入

  • http://127.0.0.1:8000/static/img/1.png
  • http://127.0.0.1:8000/static/img/2.png

那么就相當與訪問

  • /common_static/img/1.png
  • /static/img/2.png

也就是說STATIC_URL = '/static/' 可以定位到各個app下的 static/ 和工程下的 commen_static/。

所以在瀏覽器上,利用前綴 STATIC_URL 的具體內容,來映射 app 下的 static 和 STATICFILES_DIRS,http://127.0.0.1:8000/static/相當于本地地址的 app/static 和 STATICFILES_DIRS。

分享文章:Django 靜態文件配置
網頁URL:http://m.kartarina.com/article24/dsogece.html

成都網站建設公司_創新互聯,為您提供python虛擬主機電子商務網站內鏈營銷型網站建設關鍵詞優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 国产午夜精华无码网站| 中文字幕无码视频手机免费看| 日韩电影无码A不卡| 亚洲日韩激情无码一区| 免费人妻无码不卡中文字幕系| 亚洲aⅴ无码专区在线观看春色| 无码日韩精品一区二区人妻 | 久久人妻内射无码一区三区| 中文AV人妻AV无码中文视频| 亚洲AV无码之日韩精品| 久久久久久无码Av成人影院| 国产综合无码一区二区辣椒| 无码不卡中文字幕av| 精品人无码一区二区三区| 国产精品无码久久久久| 成在人线AV无码免费| 亚洲另类无码专区首页| 国产亚洲3p无码一区二区| 麻豆aⅴ精品无码一区二区| 人妻精品久久无码区| 无码人妻一区二区三区精品视频| 无码人妻精一区二区三区| 国产∨亚洲V天堂无码久久久| 无码办公室丝袜OL中文字幕 | 亚洲AV成人片无码网站| 日韩精品久久无码人妻中文字幕| 国产亚洲情侣一区二区无码AV| 无码国产69精品久久久久孕妇| 色欲AV永久无码精品无码| 免费a级毛片无码a∨蜜芽试看 | 无码里番纯肉h在线网站| 久久精品国产亚洲AV无码娇色| 亚洲AV无码欧洲AV无码网站| 亚洲AV永久无码精品| 无码免费一区二区三区免费播放| 国产AV无码专区亚洲AVJULIA| 国产午夜无码精品免费看| 久久无码无码久久综合综合 | 亚洲国产成AV人天堂无码| 人妻无码一区二区三区免费 | 国产强被迫伦姧在线观看无码|