2024 網頁x人因xDjango 實務課程 09 Static 資料夾建立

更新於 發佈於 閱讀時間約 6 分鐘

介紹

大家第一次聽到,static 肯定很陌生。簡單來說,這個東西就是拿來存放一些我們經常會用到的檔案,比方說:

CSS、JS、Image、Audio、Video......


只要是網頁上可能會用到的檔案,我們基本上都會存在 static 當中,方便我們可以在不同路徑中,快速的存取這些檔案,不需要做多餘的退後與前往資料夾。

另外一點考量也是,為了讓使用者不要輕易取得你的所有資料,因此必須透過連結來取得這些資料,讓 djnago 多一層防護。



設定

建立資料夾

首先,建立一個資料夾,我們取名為 static。

raw-image


settings.py 設定

在這裡,我們要設定連結剛建立好的資料夾。

請大家在 STATIC_URL = 'static/ 的下方,再寫一個這個:

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]


完整內容會長這樣:

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

STATIC_URL = 'static/'

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]

# Default primary key field type
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'


這個指令是,透過 django 連結我們的資料夾 static ,讓他可以直接做取用。


測試

下載圖片

請大家下載上面這張圖片,到 static 資料夾。


下載後應該會長這樣:

raw-image


HTML 引用

接著,我們回到上次做的自我介紹網站:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自我介紹網頁</title>
</head>
<body>
<div>
<h1>自我介紹</h1>
<div>
<div>
<img width="100px" height="100px" src="https://images.vocus.cc/9f4541c8-fa41-46a0-86d9-585401d176ef.png"/>
</div>
<div>
<h2>Ting</h2>
</div>
<div>
<p>大家好,我是小明,一名網頁設計師,專注於<b><i>創造美觀</i></b>且用戶友好的網站界面。自從大學畢業後,我便踏入這個充滿創意與挑戰的行業,至今已有五年的工作經驗。</p>
<p>除了專業領域外,我還對<b><i>攝影</i></b>充滿熱情,喜歡利用周末的時間去探索不同的風景與城市,捕捉那些稍縱即逝的美好瞬間。</p>
<p>此外,我也是一名吉他愛好者,<b><i>彈奏吉他</i></b>不僅為我帶來無窮的樂趣,也讓我在忙碌的生活中找到了平靜與慰藉。我相信,無論是在專業領域還是個人愛好中,持續學習與探索都是成長的關鍵。</p>
</div>
<div>
<a href="https://vocus.cc/salon/65baa7cafd897800016a45a2/room/2024_WEB">點我了解更多</a>
</div>
</div>
</div>
</body>
</html>


接著找到 <img> ,將其改為:

{% load static %}
<img width="100px" height="100px" src="{% static images/9f4541c8-fa41-46a0-86d9-585401d176ef.png %}"/>


  1. 首先,我們會透過 {% load static %} 去讓他讀取 static 這個資料夾。
  2. 接著在 img 的屬性 src 中,修改路徑為:
{% static 'images/9f4541c8-fa41-46a0-86d9-585401d176ef.png' %}

其中組成是:

  1. 先寫 {% static %}
  2. 在後面新增 static 後的路徑,以我為例就是 images/9f4541c8-fa41-46a0-86d9-585401d176ef.png


實際測試

接著讓我們來測試看看吧。

首先輸入指令:

python manage.py runserver


接著打開網頁:

http://127.0.0.1:8000/Index/


就能看見成功讀取圖片的網頁了:

raw-image


結論

感謝你看到這邊,把這些內容持之以恆地讀完肯定不容易,你辛苦啦!

今天我們學到了如何去建立 static ,大家可以更有效的去讀取檔案,並且更安全。

接下來,我們將介紹 CSS 的連結方法,作為 CSS 課程前的第一步。


avatar-img
12會員
18內容數
這裡是來自 高科大 資管系二年級的學生,希望能在學習的過程中,也分享這些知識給大家。
留言
avatar-img
留言分享你的想法!
咖啡因學習教室 的其他內容
本文介紹瞭如何寫 HTML 標籤,製作一個簡單的自我介紹網頁。透過介紹寫標籤的實例,讓讀者能夠更瞭解如何在 HTML 中使用不同的標籤。
HTML 標籤是網頁內容的基礎,透過學習不同的標籤,你可以設計出各式各樣的內容。本文介紹了各種基本的標籤,如標題、段落、修飾樣式、超連結以及區塊等,讓你對 HTML 標籤有更深入的瞭解。
本篇文章介紹了路徑的概念和兩種不同的路徑運用。這些知識對於網頁開發非常重要,能夠幫助網站開發者更好地管理資源文件的位置。文章通過實際例子和相對路徑的範例來解釋這些概念。希望通過這篇文章,讀者能夠清楚地瞭解路徑的概念,並在日後的開發中能夠靈活運用。
人們對於學習HTML的興趣持續增長,本篇文章將解析HTML的架構、標籤、排序方式、標籤屬性和標籤結構解析的相關課程,為讀者提供全方位的學習體驗。
本文章介紹了建立網頁的整個流程,包括設置 Templates, Views, Urls 等步驟。透過這些步驟,大家便能創建一個新的網頁,並成功測試。
本文介紹了 Django 專案中各個檔案的用途,包括 settings.py、tests.py、models.py 等。並且解釋了 MTV 架構的後端運作流程,以及相對應的範例介紹。閱讀本文可幫助讀者更好地瞭解 Django 後端開發。
本文介紹瞭如何寫 HTML 標籤,製作一個簡單的自我介紹網頁。透過介紹寫標籤的實例,讓讀者能夠更瞭解如何在 HTML 中使用不同的標籤。
HTML 標籤是網頁內容的基礎,透過學習不同的標籤,你可以設計出各式各樣的內容。本文介紹了各種基本的標籤,如標題、段落、修飾樣式、超連結以及區塊等,讓你對 HTML 標籤有更深入的瞭解。
本篇文章介紹了路徑的概念和兩種不同的路徑運用。這些知識對於網頁開發非常重要,能夠幫助網站開發者更好地管理資源文件的位置。文章通過實際例子和相對路徑的範例來解釋這些概念。希望通過這篇文章,讀者能夠清楚地瞭解路徑的概念,並在日後的開發中能夠靈活運用。
人們對於學習HTML的興趣持續增長,本篇文章將解析HTML的架構、標籤、排序方式、標籤屬性和標籤結構解析的相關課程,為讀者提供全方位的學習體驗。
本文章介紹了建立網頁的整個流程,包括設置 Templates, Views, Urls 等步驟。透過這些步驟,大家便能創建一個新的網頁,並成功測試。
本文介紹了 Django 專案中各個檔案的用途,包括 settings.py、tests.py、models.py 等。並且解釋了 MTV 架構的後端運作流程,以及相對應的範例介紹。閱讀本文可幫助讀者更好地瞭解 Django 後端開發。
你可能也想看
Google News 追蹤
Thumbnail
網路上很多分享 HTML, CSS 的資源,但很多超級多內容,一開始在學的時候以為每個指令都要背,實際上只要知道大方向跟邏輯,學會查就好了。本篇文章會記錄學習重點,和免費學習的資源。 HTML、CSS、JavaScript 差在哪裡? 👉 HTML = 骨架 🏗️(負責結構) 負責標記內容
Thumbnail
第一次使用這平台 處於摸索狀態 透過文字希望可以好好紀錄自己的生活
一個人默默翻著資料。
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
前言 那麼今天要來教大家,如何實現各種排版,以及不同的 CSS 可以做出怎樣的效果。 整理好你的思緒,深深吸一口氣,讓我們在 2024 這嶄新的一年當中,開始新的學習之旅吧。 字體相關 color 設定文字的顏色。 <p style="color: blue;">這是藍色文字。</
前言 今天課程要來學習,在 .css 設計樣式後,怎麼透過選擇器,讓 .html 可以有所配對,經過這一步後,便可以開始學習,如何正式設計 .css 了。 選擇器 介紹 還記得上次課程,我們在 .css 檔案中,撰寫的程式碼嗎?讓我們來複習看看: .highlight { co
前言 終於要到這個振奮人心的章節了,我們終於要來學習,如何讓自己的網頁更加美觀。 但在這之前,我們肯定得先學習,如何將我們的 CSS 檔案,連接到 HTML 當中。 連結分類 首先,我們在連結 CSS 的方法中,有分為三種: 內聯連結 在 .html 當中,任一標籤的裡面,用屬性 s
Thumbnail
網路上很多分享 HTML, CSS 的資源,但很多超級多內容,一開始在學的時候以為每個指令都要背,實際上只要知道大方向跟邏輯,學會查就好了。本篇文章會記錄學習重點,和免費學習的資源。 HTML、CSS、JavaScript 差在哪裡? 👉 HTML = 骨架 🏗️(負責結構) 負責標記內容
Thumbnail
第一次使用這平台 處於摸索狀態 透過文字希望可以好好紀錄自己的生活
一個人默默翻著資料。
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
前言 那麼今天要來教大家,如何實現各種排版,以及不同的 CSS 可以做出怎樣的效果。 整理好你的思緒,深深吸一口氣,讓我們在 2024 這嶄新的一年當中,開始新的學習之旅吧。 字體相關 color 設定文字的顏色。 <p style="color: blue;">這是藍色文字。</
前言 今天課程要來學習,在 .css 設計樣式後,怎麼透過選擇器,讓 .html 可以有所配對,經過這一步後,便可以開始學習,如何正式設計 .css 了。 選擇器 介紹 還記得上次課程,我們在 .css 檔案中,撰寫的程式碼嗎?讓我們來複習看看: .highlight { co
前言 終於要到這個振奮人心的章節了,我們終於要來學習,如何讓自己的網頁更加美觀。 但在這之前,我們肯定得先學習,如何將我們的 CSS 檔案,連接到 HTML 當中。 連結分類 首先,我們在連結 CSS 的方法中,有分為三種: 內聯連結 在 .html 當中,任一標籤的裡面,用屬性 s