iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0

Day 12 居家上班要懂的 Django 工作流程

從瀏覽器打開網頁是透過 Django 的程式取得資料庫資料後進行回應呢?在初次接觸 Django 的時候一定要清楚的理解整個流程,多租戶架構還要再加上一點點小變化,讓我們馬上來認識吧~

Django 應用程式說明

在我們看工作流程之前,先來說明各應用程式的用途,能更好的理解每個步驟的意義。

URLs 網址分派
透過 URLS 進行網址分派,根據 HTTP 請求重定向到對應的視圖,可以設定特定規則。

View 視圖
為一個請求處理函數,接收透過 URLS 接收到請求後,執行函數內定義的程式,透過訪問模型取得需求資料,將資料格式化為回應格式後傳遞給 Template 模板。

Template 模板
模板是定義的頁面的結構檔案,透過 View 傳遞的資料與 DTL(Django 模板語言)來動態呈現 HTML 或其他類型的頁面。

Model 模型
模型用來定義儲存的資料結構,包含欄位與行為,在進行資料遷移時會根據模型欄位生成對應的資料表與欄位,並提供與資料庫溝通的新增、修改、刪除、查詢機制。

Middleware 中介層
中介層是 Django 處理請求/回應的框架,可以全域改變 Django 的輸入輸出。可以在 URLS 分派後、視圖接收前對 Request 物件進行處理,或是在視圖之後對 Response 物件進行處理。

Django 的工作流程

總共分為六個步驟如下:

  1. 從使用者透過網頁瀏覽會發出一個 HTTP 請求
  2. URLs 接收到請求後根據網址分派到對應的 View
  3. View 接收到請求後,執行函數並呼叫 Model
  4. Model 與 Database 溝通後取得資料返回給 View
  5. View 將資料格式化為回應格式,傳遞給 Template 生成頁面
  6. 最後 View 將 Template 呈現給網頁瀏覽器

https://ithelp.ithome.com.tw/upload/images/20220924/20151656O9O0LBK7zh.png

Django 多租戶架構的工作流程

總共分為七個步驟,多了一個 Middleware 處理請求來設定資料庫與分派多租戶,步驟如下:

  1. 從使用者透過網頁瀏覽會發出一個 HTTP 請求
  2. URLs 接收到請求後根據網址進行分派後觸發 Middleware
  3. Middleware 對請求進行處理,根據 domain 設定資料庫使用的 schema 與把 Public URL 覆蓋為Tenant URL,再將請求分派到對應的 View
  4. View 接收到請求後,執行函數並呼叫 Model
  5. Model 與 Database 溝通後取得資料返回給 View
  6. View 將資料格式化為回應格式,傳遞給 Template 生成頁面
  7. 最後 View 將 Template 呈現給網頁瀏覽器

https://ithelp.ithome.com.tw/upload/images/20220924/20151656E0c6MZdFqq.png
介紹了工作流程之後,緊接著就是開始工作了哦!明天『打造大廳,動手開發你的首頁』!


上一篇
Day 11 ModelAdmin,成為一名模型管理員
下一篇
Day 13 打造大廳,動手開發你的首頁
系列文
全能住宅改造王,Django 多租戶架構的應用 —— 實作一個電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言