這是 Django 5 by Example 的程式碼儲存庫,由 Antonio Melé 編寫並由 Packt 發布。它包含從頭到尾完成本書所需的所有支援項目文件。
技術評審員:Mark Walker
前言:保羅‧梅爾基奧雷
代碼被組織到帶有章節號的目錄中。例如requirements.txt
Chapter02
包含第 2 章的原始程式碼。可以使用指令pip install -r requirements.txt
安裝它們。
使用以下命令運行 Django 開發伺服器:
python manage.py runserver
Docker Compose 在第 17 章中進行了解釋。
使用 Docker Compose 建置和執行的命令:
./do.sh build ./do.sh run
命令列表:
build [<arg>]
:建置 Docker 映像。可選參數可以指定要建置的特定映像。
exec [<arg>]
:在容器中執行指令。
compose
:Docker Compose 的最小包裝器,確保已載入正確的設定檔。
migrate [<arg>]
:套用任何未套用的 Django 遷移。
makemigrations [<arg>]
:建立新的 Django 遷移,並根據需要指定其他參數。
check
:驗證 Django 設定。
shell
:在指定容器(web_run)中開啟 bash 終端。
start [<arg>]
:啟動 Django 伺服器和依賴服務。使用 -d 分離運行。
stop [<arg>]
:停止 Django 伺服器和相關服務。
Django 5 範例(第 5 版)將引導您完成使用 Django 開發專業 Web 應用程式的整個過程。本書不僅涵蓋了該框架最相關的方面,還將教您如何將其他流行技術組成到您的 Django 專案中。
本書將使用易於遵循的逐步方法,引導您創建四個實際應用程式、解決常見問題以及實施最佳實踐。
讀完本書後,您將很好地了解 Django 的工作原理以及如何建立實用的高級 Web 應用程式。
本書需要 Python 3.12+ 和 Django 5。
本書涵蓋了廣泛的 Web 應用程式開發主題,分為四個不同的 Django 專案:
部落格應用程式(第 1-3 章):建立完整的部落格應用程式
建立資料模型、視圖和 URL
為您的部落格實施一個管理站點
對模型使用規範 URL,並為貼文實施 SEO 友善的 URL
建立帖子分頁並學習如何建立基於類別的視圖
使用表單允許讀者透過電子郵件分享貼文並使用模型表單實施評論系統
使用 django-taggit 為帖子添加標籤,並根據共享標籤推薦類似的帖子
實作自訂範本標籤以顯示最新貼文和評論最多的貼文
實作自訂模板過濾器來渲染 Markdown
為您的部落格建立網站地圖和 RSS 來源
使用 PostgreSQL 實作全文搜尋引擎
社交網站(第 4-7 章):建立一個網站來添加書籤和分享圖像
使用Django身份驗證框架實現身份驗證
使用自訂設定檔模型擴充使用者模型
使用 Diango 訊息框架
建立自訂身份驗證後端
使用 Python Social Auth 與 Google 一起實施社交身份驗證 (OAuth2)
使用 django-extensions 透過 HTTPS 運行開發伺服器
使用 easy-thumbnails 產生圖像縮圖
在模型中實現多對多關係
使用 JavaScript 和 Django 建立 JavaScript 書籤
使用 JavaScript Fetch API 和 Django 新增非同步 HTTP 請求
實現無限滾動分頁
建立用戶關注系統
建立使用者活動流並優化查詢集
學習使用 Django 訊號
使用django-debug-toolbar獲取相關調試信息
使用 Redis 計算圖像瀏覽次數
使用 Redis 建立圖像排名
電子商務應用程式(第 8-11 章):創建功能齊全的線上商店
建構產品目錄的模型
使用 Django 會話建立購物車
建立自訂上下文處理器
管理客戶訂單
使用 Celery 和 RabbitMQ 發送非同步通知
使用 Flower 監控 Celery
整合 Stripe 來處理付款
實施 webhook 以接收來自 Stripe 的付款通知
在 Django 管理網站中建立自訂視圖
建立管理操作並產生 CSV 文件
使用 Weatherprint 動態產生 PDF 發票
建立優惠券系統以對訂單套用折扣
將折扣與 Stripe 付款結合
使用Redis建構產品推薦引擎
為商店添加國際化
產生和管理翻譯文件
使用 Rosetta 管理翻譯
翻譯 URL 模式並建立語言選擇器
使用 django-parler 翻譯模型
使用 django-localflavor 本地化表單
電子學習平台(第 12-17 章):建立包含 CMS 的電子學習平台
建立課程模型
建立和使用數據裝置
使用模型繼承來創建多型內容
建立自訂模型欄位來訂購課程內容
實作身份驗證視圖
使用基於類別的視圖和混合式建構內容管理系統
使用群組和權限限制訪問
建立表單集來管理課程內容
使用 JavaScript 和 Django 建立拖放功能以就地重新排序內容
使用 django-braces 中的通用 mixin
落實公眾意見與學生招生意見
渲染不同類型的內容並使用 django-embed-video
使用快取框架快取內容
使用 Memached 和 Redis 快取後端
使用 django-redisboard 監控 Redis
使用 Django REST Framework 建立 API
為模型和自訂 API 視圖建立序列化器
處理API身份驗證和權限
建立 API 視圖集和路由器
使用 Python 請求使用您的 API
使用 Django Channels 建立即時聊天伺服器
使用 Django 和 JavaScript 實作 WebSocket 消費者/客戶端
使用Redis設定通道層
讓您的 WebSocket 完全非同步
透過保留聊天訊息來實現聊天歷史記錄
為多個環境建立設定
使用 Docker Compose 與 PostgreSQL、Redis、Nginx、uWSGI 和 Daphne 設定生產環境
透過 HTTPS 安全地服務您的項目
使用Django系統檢查框架
建立自訂中間件
建立自訂管理命令
加入《Discord 社群》一書,參與正在進行的討論或/並發起新的討論。您會發現其他開發人員一起閱讀本書並互相幫助解決問題。
Django 4 範例
Django 3 範例
Django 2 範例
Django 實例
雖然本書的第五版已翻譯成其他語言,但您可以找到先前版本的翻譯:
簡體中文:Django 4實例精解
波蘭語:Django 4。維達尼四世
俄語:姜戈 4 в примерах
巴西葡萄牙語:Arenda Django 3 com 範例
塞爾維亞-克羅埃西亞-波斯尼亞語:Django 3 kroz primere,prevod III izdanja
西班牙語:姜戈 2
如果您已經購買了本書的印刷版或 Kindle 版,則可以免費獲得無 DRM 的 PDF 版本。只需點擊連結即可取得免費 PDF:https://packt.link/free-ebook/9781805125457
我們還在 GraphicBundle 中提供了一個 PDF 文件,其中包含本書中使用的螢幕截圖/圖表的彩色圖像
第 39 頁Post.objects.filter(id_lt=3).count()
Post.objects.filter(id__lt=3).count()