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 課程前的第一步。


    8會員
    18內容數
    這裡是來自 高科大 資管系二年級的學生,希望能在學習的過程中,也分享這些知識給大家。
    留言0
    查看全部
    發表第一個留言支持創作者!