Django - 新增靜態檔案



什麼是 Django 中的靜態檔案?

Django 模板語言允許動態地將資料插入網頁。但是,Web 應用程式還需要某些資源,例如影像、JavaScript 程式碼和樣式表,才能呈現完整的網頁。這些型別的檔案稱為靜態檔案。在 Django 應用程式中,這些檔案儲存在應用程式資料夾內的靜態資料夾中。

靜態檔案應用

靜態檔案應用程式 (django.contrib.staticfiles) 用於管理靜態檔案,它在 Django 專案中自動安裝。

INSTALLED_APPS = [
   . . .,
   'django.contrib.staticfiles',
   'firstapp',
]

Django 在“app/static”資料夾(應用程式資料夾中的名為static的資料夾)中查詢所有靜態資源。

首先,我們需要在myapp 包資料夾內建立一個名為“static”的資料夾來儲存這些檔案。讓我們將“django.png”檔案儲存在這個資料夾中。

確保在“settings.py”模組中,STATIC_URL 引數設定為指向此資料夾。

STATIC_URL = 'static/'

新增檢視

讓我們新增以下檢視:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
   return render(request, "index.html", {})

註冊檢視

您還應該在應用程式的 URLCONF 中註冊此檢視:

from django.urls import path
from . import views

urlpatterns = [
   path("", views.index, name="index"),
]

在模板中,要使靜態資料夾可用,請使用以下語句中的load 模板標籤

{% load static %}

index.html

現在,我們可以使用靜態路徑在<img src>標籤中引用影像。讓我們修改“index.html”檔案如下:

<html>
<body>
   {% load static %}
   <img src="{% static 'django.png' %}" alt="My image">
</body>
</html>

啟動伺服器並訪問 URL“https://:8000/myapp/”。“django.png”檔案將在瀏覽器中顯示。

Django Add Static Files

靜態檔案應用程式還有助於提供 CSS 和 JS 檔案。要將其包含為 CSS 檔案,請在href屬性中的{% static %}標籤中提供其相對路徑。

<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}">

要載入 JavaScript 程式碼,請使用以下語法:

<head>
   {% load static %}
   <script src = "{% static 'script.js' %}"></script>
</head>
廣告

© . All rights reserved.