Django Web 框架 (Python)
Django 是一個非常流行且功能齊全的伺服器端 Web 框架,由 Python 編寫。本模組將向你展示為什麼 Django 是最流行的 Web 伺服器框架之一,如何設定開發環境,以及如何開始使用它來建立你自己的 Web 應用程式。
預備知識
開始本模組之前,你不需要具備任何 Django 知識。理想情況下,你需要透過閱讀我們的伺服器端網站程式設計第一步模組中的主題,來理解什麼是伺服器端 Web 程式設計和 Web 框架。
建議你對程式設計概念和 Python 有一定的瞭解,但這對理解核心概念並非必需。
注意:Python 是最易於新手閱讀和理解的程式語言之一。即便如此,如果你想更好地理解本模組,網際網路上有大量免費的書籍和教程可以幫助你(程式設計新手可以檢視 python.org wiki 上的面向非程式設計師的 Python 頁面)。
教程
- Django 介紹
-
在第一篇 Django 文章中,我們回答了“什麼是 Django?”這個問題,並概述了是什麼讓這個 Web 框架如此特別。我們將列出其主要特性,包括一些我們在這個模組中沒有時間詳細介紹的高階功能。我們還將展示 Django 應用程式的一些主要構建模組,以便在你進行設定和開始使用之前,對它的功能有一個大致的瞭解。
- 搭建 Django 開發環境
-
現在你已經知道了 Django 的用途,我們將向你展示如何在 Windows、Linux (Ubuntu) 和 macOS 上設定和測試 Django 開發環境——無論你使用哪種常見的作業系統,本文都應該能為你提供開始開發 Django 應用所需的一切。
- Django 教程:本地圖書館網站
-
我們實戰教程系列的第一篇文章將解釋你將學到什麼,並概述“本地圖書館”——一個我們將在後續文章中逐步完善和開發的示例網站。
- Django 教程第二部分:建立一個骨架網站
-
本文將展示如何建立一個“骨架”網站專案,然後你可以在此基礎上填充網站特定的設定、URL、模型、檢視和模板。
- Django 教程第 3 部分:使用模型
-
本文展示瞭如何為本地圖書館網站定義模型——模型代表了我們想要儲存應用資料的資料結構,並允許 Django 為我們將資料儲存在資料庫中(以及稍後進行修改)。文章解釋了什麼是模型、如何宣告模型以及一些主要的欄位型別。它還簡要展示了幾種訪問模型資料的主要方式。
- Django 教程第 4 部分:Django 後臺管理站點
-
現在我們已經為本地圖書館網站建立了模型,接下來將使用 Django 後臺管理站點來新增一些“真實”的圖書資料。首先,我們將向你展示如何將模型註冊到後臺站點,然後展示如何登入並建立一些資料。最後,我們還會展示一些可以進一步改善後臺站點外觀的方法。
- Django 教程第 5 部分:建立我們的主頁
-
我們現在準備好新增程式碼來顯示我們的第一個完整頁面——本地圖書館的主頁,該頁面顯示每種模型型別的記錄數量,並提供到其他頁面的側邊欄導航連結。在此過程中,我們將獲得編寫基本 URL 對映和檢視、從資料庫獲取記錄以及使用模板的實踐經驗。
- Django 教程第 6 部分:通用列表和詳情檢視
-
本教程擴充套件了我們的本地圖書館網站,為書籍和作者添加了列表和詳情頁面。在這裡,我們將學習基於類的通用檢視,並展示它們如何減少常見用例需要編寫的程式碼量。我們還將更深入地探討 URL 處理,展示如何執行基本的模式匹配。
- Django 教程第 7 部分:會話框架
-
本教程擴充套件了我們的本地圖書館網站,在主頁上添加了一個基於會話的訪問計數器。這是一個相對簡單的例子,但它確實展示了你如何使用會話框架為匿名使用者在你自己的網站上提供持久化行為。
- Django 教程第 8 部分:使用者認證和許可權
-
在本教程中,我們將向你展示如何允許使用者使用自己的賬戶登入你的網站,以及如何根據他們是否登入及其許可權來控制他們可以做什麼和看到什麼。作為演示的一部分,我們將擴充套件本地圖書館網站,新增登入和登出頁面,以及供使用者和員工檢視已借閱書籍的特定頁面。
- Django 教程第 9 部分:使用表單
-
在本教程中,我們將向你展示如何在 Django 中使用 HTML 表單,特別是編寫表單來建立、更新和刪除模型例項的最簡單方法。作為演示的一部分,我們將擴充套件本地圖書館網站,使圖書館員可以使用我們自己的表單(而不是使用後臺管理應用)來續借書籍,以及建立、更新和刪除作者。
- Django 教程第 10 部分:測試 Django Web 應用程式
-
隨著網站規模的增長,手動測試變得越來越困難——不僅需要測試的內容更多,而且隨著元件之間互動的複雜性增加,一個區域的微小改動可能需要許多額外的測試來驗證其對其他區域的影響。緩解這些問題的一種方法是編寫自動化測試,這些測試可以在每次更改時輕鬆可靠地執行。本教程將展示如何使用 Django 的測試框架來自動化網站的單元測試。
- Django 教程第 11 部分:將 Django 部署到生產環境
-
現在你已經建立(並測試)了一個出色的本地圖書館網站,你會希望將其安裝到公共 Web 伺服器上,以便圖書館工作人員和成員可以透過網際網路訪問。本文概述了你該如何尋找主機來部署網站,以及為了讓網站為生產環境做好準備需要做些什麼。
- Django Web 應用程式安全
-
保護使用者資料是任何網站設計中至關重要的一部分。我們之前在Web 安全一文中解釋了一些常見的安全威脅——本文將透過實際演示,說明 Django 的內建保護措施如何處理這些威脅。
評估
以下評估將測試你對如何使用 Django 建立網站的理解,正如上面列出的教程中所述。
- DIY Django 迷你部落格
-
在此評估中,你將使用從本模組學到的一些知識來建立自己的部落格。