iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
Modern Web

Django 初心者之旅系列 第 2

【Day 02】 Django 簡介

  • 分享至 

  • xImage
  •  

Django 是什麼?

簡單來說,Django 就是一個 python 的框架,主要功用是讓人能輕鬆用 python 建立網站。

個人覺得 Django 有一個很棒的地方,那就是它預先將複雜的處理過程,包裝成一個個的套件和方法,多數情況下只要引用它們就好。因此,可以把心思放在設計版面或其他事,而不必去糾結要怎麼寫複雜的 python 程式碼來完善網頁功能。

Django 核心架構

大學上程式課比較常接觸到的是MVC架構,而Django則是MVT架構。
MVT分別是ModelViewTemplate

  • Model
    • 定義資料庫資料表
  • View
    • 決定怎麼處理 HttpRequest 和 HttpResponse
  • Template
    • 設計拜訪者實際上會看到的網頁外觀

Model

在 Django 裡,要做到CRUD的操作,並非是直接下SQL指令,而是透過ORM的方式進行。使用ORM可以讓我們省略繁複的SQL指令就能完成簡單的資料操作。當然使用ORM也不全然只有好處,關於ORM的其他內容之後會透過番外篇說明。

models代表的是很多個class,1個class就代表1個model(資料表),而它們都被放在models.py這個檔案裡面。

View

前面提過View會決定怎麼處理 HttpRequestHttpResponse,這關係到瀏覽者能看到什麼網頁、網頁上該顯示什麼資料、如何回應網頁上的操作等等。

views代表的是很多個function,1個view就是1個function,而它們都被放在views.py這個檔案裡面。

Template

訪問者能不能看到漂亮的網頁,決定在Tempalte設計的好壞與否。

跟前面不一樣的是並沒有templates.py這個檔案,每個template其實就是我們熟悉的好朋友.html檔,而這些.html檔都被收錄在名為templates的資料夾裡面。

除了MVT之外,我們還需要設定網頁的地址,也就是urls才能正常的透過網址拜訪特定網頁。

URLs

在Django裡面,寫完.html檔後想直接用localhost+檔案路徑去瀏覽網頁是行不通的,因為Django根本不知道要怎麼回應請求。

在拜訪網頁前,我們必須讓Django知道這個路徑(網址)要用什麼view去回應,那要怎麼做到這件事呢? 這就要到名為urls.py的檔案裡面去做設定了。

這邊只先稍微帶過,後續透過實際操作會更容易知道它們在做什麼。

Django 運作流程

(簡易版)

  1. 訪問者在瀏覽器輸入網址前往網頁
  2. Django 接收到網址,隨即跑到urls.py裡面尋找要用哪個view作回應
  3. 被找到的view會確認跟這次request有關的model,需要的model會從models.py被import進來
  4. 這些import進來的model資料,接下來會被view傳到特定的template
  5. 這個攜帶model資料的特定template會被viewHttpResponse的形式回傳到瀏覽器
  6. 網頁呈現在訪問者的瀏覽器畫面上

至於Django的發展歷史,有興趣的話可以自行上網查閱~


上一篇
【Day 01】 Django 初學之旅-啟程LA
下一篇
【Day 03】 Django 環境設定
系列文
Django 初心者之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言