1. 程式人生 > 其它 >django - 靜態檔案

django - 靜態檔案

什麼是靜態檔案

  • 如:圖片,css,js,音訊,視訊

靜態檔案配置 - settings.py中

1、配置靜態檔案的訪問路徑【該配置預設存在】

  • 通過哪個url地址找靜態檔案
  • STATIC_URL = '/static/'
  • 說明:
    • 指定訪問靜態檔案時是需要通過 /static/xxx http://127.0.0.1:8000/static/xxx 【xxx表示具體的靜態資源位置】

2、配置靜態檔案的儲存路徑STATICFILES_DIRS

STATICFILES_DIRS儲存的是靜態檔案在伺服器端的儲存位置

# file: setting.py
# 在setting.py末尾新增:
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 
"static"), )

在第一個Project01中建立目錄static

在目錄static中建立目錄image放圖片檔案,建立目錄js專門放js檔案

模板中訪問靜態檔案 - img標籤為例

方案1 - 直接拼接訪問路徑

<img src="/static/image/Django02.png" > 或者
<img src="http://127.0.0.1:8000/static/image/Django02.png" >

方案2

通過{% static %}標籤訪問靜態檔案
  1. 載入 static - {% load static %}
  2. 使用靜態資源 - {% static '靜態資源路徑' %}
  3. 樣例
    1. <img src="{% static 'images/lena.jpg'%}">
# 在views.py檔案中

from django.shortcuts import render

def test_static(request):
    return render(request, 'test_static.html')
# 在test_static.html檔案中

<body>
<img src="http://127.0.0.1:8000/static/image/Django02.png" width="200px" height="200px"/>
<img src="
/static/image/Django02.png" width="200px" height="200px"/> {% load static %} <img src="{% static 'image/Django02.png'%}" width="200px" height="200px"> </body>
# 在urls.py檔案中

urlpatterns = [
    path('admin/', admin.site.urls),
    path('text_static', views.test_static),
]