專案配置檔案內關於靜態檔案的設定項
# 靜態檔案的 URL 字首
STATIC_URL = '/static/'
# 專案根目錄的靜態檔案目錄
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'parallel/static'),
os.path.join(BASE_DIR, 'blog/static'),
os.path.join(BASE_DIR, 'app1/static'),
]
# 靜態檔案的根目錄(用於 collectstatic 命令)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
# 一般用於在生產環境中使用命令`python manage.py collectstatic`將所有靜態檔案統一收集到`staticfiles`
模板檔案中引用靜態檔案的格式
{% load static %}
<img src="{% static 'app1/img/carousel/平行世界.jpg' %}" alt="平行世界" class="d-block w-100 ">
真實檔案路徑
/home/lyh/aipw/app1/static/app1/img/carousel/平行世界.jpg
專案檔案的目錄結構
project_root/
├── static/
├── parallel/
│ └── static/
│ └──parallel/
│ └──img/parallel-logo.png
├── blog/
│ └── static/
│ └──blog/
│ └──img/blog-logo.png
└── app1/
└── static/
│ └──app1/
│ └──img/app1-logo.png
在生產環境中,Nginx的配置參考如下
location /static/ {
alias /home/lyh/aipw/static/;
}
location /static/app1/ {
alias /home/lyh/aipw/app1/static/app1/;
}
location /static/blog/ {
alias /home/lyh/aipw/blog/static/blog/;
}
location /static/parallel/ {
alias /home/lyh/aipw/parallel/static/parallel/;
}