靜態文件 | Django開發
阿新 • • 發佈:2017-10-21
TTT str cnblogs from 讀取 配置 div 動態 img
# 項目中css、圖片、js都是靜態文件;
-- 配置靜態文件
-- setting.py
# 網址上顯示的路徑; STATIC_URL = ‘/static/‘ # 物理路徑的配置; STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘), ]
-- 項目根目錄下創建static目錄,細分應用,再創建應用目錄
mysite/static/myapp/
-- 在模板中使用硬編碼
/static/my_app/myexample.jpg
-- 在模板中使用static編碼
{ % load static from staticfiles %}<img src="{ % static "my_app/myexample.jpg" %}" alt="My image"/>
-- 附:訪問靜態文件的邏輯路徑與物理路徑;
# 在Django中,先匹配這個邏輯路徑,在去後面的物理路徑尋找靜態資源; # 可以起到一個隱藏文件的作用,你頁面看到的路徑並不是靜態文件存放的真正路徑; STATIC_URL = ‘/static/‘ STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘), ]
-- 實例
-- setttings.py中配置
默認:STATIC_URL = ‘/static/‘ 添加:STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘) ]
-- 在項目目錄下添加文件static,裏面再創建針對項目的文件目錄booktest,放置靜態文件;
-- 在要展示的頁面添加圖片路徑(index.html)
<body> <h1>首頁</h1> <!-- 靜態文件展示 --> <img src="/static/booktest/a1.jpg"/> </body>
-- 訪問頁面展示靜態文件
-- 動態生成地址(與上面不同的是,這種方式是直接訪問物理路徑,STATIC_URL = ‘/static/‘沒用)
-- 動態生成圖片路徑(index.html)
{% load static from staticfiles %} <!DOCTYPE html> <html> <head> <title>首頁</title> </head> <body> <h1>首頁</h1> <!-- 1.靜態文件展示 --> <img src="/abc/booktest/a1.jpg"/> <br> <!-- 2.動態生成路徑,訪問靜態文件 --> <img src="{% static ‘/booktest/a1.jpg‘%}"/> </body> </html>
# 在1.中靜態文件路徑發生了改變,與setting.py匹配的邏輯路徑不同,無法讀取文件; # 在2.中對應settings.py中匹配的物理路徑,始終可以匹配文件;
靜態文件 | Django開發