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