《精通 Django》 讀後感
自上上週日看完《Python 語言及其應用》學了 Python 之後,就開始想找一門 Web 框架來練練手,恰逢《精通 Django》的出版,於是就高高興興的讀了起來,學了一週 Django 收穫不少,在這裡分享一下讀後感。
簡單地介紹 Django
Django 誕生於2003年,由美國堪薩斯州勞倫斯的一個 Web 開發團隊編寫。這個團隊當時維護幾個新聞網站,並且被要求 Web 應用在 緊張的時間內開發出來,於是團隊開發了這個易於維護的框架。
基於這個前提,Django 十分適合搭建"內容型"的網站,使用 Django 能在極短的時間內構建全面動態的網站。我在學習的時候也深刻體會到這點,例如自帶的管理後臺、自帶的使用者系統(能管理使用者的賬戶、分組和許可權,並且實現了基於 cookie 的使用者會話。)、強大的 ORM(Object-relational mapping)等等。
適合新手嗎?
個人愚見,我認為 Django 是一個十分適合新手的框架,原因如下:
- 清晰的 MVC 設計
- 十分上手的 ORM(Model 層:基於 Python 資料結構的 CRUD)
- 自帶使用者認證系統(新手不需要自己關心使用者系統的安全性)
- 整合了很多模組,支援大多數資料庫
- 能夠熟悉並專注於 Web 開發邏輯
網上也有很多關於 Flask 和 Django 的爭論,比如 Flask 十分靈活,而 Django 依賴的東西太多。我認為這是兩種不同的設計理念,也要按照需求來選擇框架(沒錯,兩種框架都學精了就不會有爭論了!),例如開發論壇的時候就能直接依賴 Django 的使用者認證系統來搭建,不用重複造輪子。
Django 很好上手,自己花了幾天的時間就能搭一個擁有登入註冊、評論的部落格,文後也會給出一些自己的學習路線建議。
讀後感
與實戰向的書相比,這本書其實更像是一本工具書,作者也希望這本書能成為 The Django Book 的非官方第三版。本書涵蓋的內容全面,對於一些主要的包都有詳盡的介紹。
本書前六章是 Django 的基礎知識,本書唯一的一個小專案就在裡面,目的是讓讀者對 Django 有基礎的認識,併為學習後面的較高階的內容做打好基礎。
第七到十三章講的是 Django 的高階用法,包含前面六章更深入的知識,例如自定義過濾器和裝飾器、自定義模型和表單、擴充套件和定製驗證系統、實戰性強的測試和部署 Web 應用。
後面的章節是可能用不到的 Django 功能,可以作為擴充套件閱讀。
本書尾也有詳細的附錄,講解了 Django 中的各個函式和欄位,可以作為參考。
優點
- 一本優秀的工具書
- 對 Django 一些機制有深入的講解
缺點
- 缺乏大型專案實戰
- 內容覆蓋不全面,如:ContentType。
學習建議
熟悉本書前六章內容,簡單的看看第七到十章(看這些知識能做什麼,太細的點在需要的時候再翻查),然後開始嘗試寫一個自己的部落格。
路線一
如果對自己英語沒多少自信,可以參考django 入門學習規劃與資料推薦,作者提供準備好的樣式,部落格教程也較詳細,對零基礎萌新友好。
路線二
英語好而且有條件的同學可以參考油土鱉的教程:
Try Django 1.9 -- Build a Django Blog -- Django 1.9, Bootstrap 3.3, & More.
入門的教程,也是教你從零開始搭部落格,熟悉基礎。
Advancing the Blog from Try Django 1.9
Try Django 1.9 教程的進階版,增加了實時顯示的 markdown 編輯、美化細節、ContentType 實現評論功能、基於使用者認證系統實現登入註冊等使用的技巧。
Blog API with Django Rest Framework
在前兩系列部落格教程的基礎上,為部落格提供 API 支援。
除了 API 的教程,前面教程我都看完了。十分建議有條件的走路線二,裡面的內容覆蓋了《精通 Django》前十一章所涉及的概念,當然路線一里的博主也十分樂意幫助萌新解決問題,Q 群也活躍。
擴充套件閱讀
-
- 入門向,官方的一個投票網站搭建教程:Writing your first Django app
Django - Full Stack Python Full Stack Python 簡體中文網站中有關 Django 的學習建議與資源整理。
- 另外也可以看看這網站對 Python Web 框架的一些總結:Web 框架
python web 入坑指南 在知乎寫後端的同學做的指南
《Two Scoops of Django: Best Practices for Django 1.11》 進階必讀的書,包含了日常開發的各種建議及設計規範。
Growth 實戰篇 Django 版 phodal 所寫的全棧增長工程師實戰教程。
相關文章
- 《精通 Django》讀後感——全而不深,需要自己後續鑽研Django
- 《Django基礎教程》讀後感Django
- 讀後感
- 讀後感1
- 讀後感2
- 讀後感3
- 讀Cookie安全後的讀後感Cookie
- 《SVG 精髓》讀後感SVG
- 讀後感---程式猿.
- 《軟體方法》讀後感
- 《圖解 HTTP》讀後感圖解HTTP
- 《人月神話》讀後感
- 《蔣勳說宋詞》讀後感
- 十月讀後感
- 大道至簡讀後感
- 構建之法讀後感
- 《大道至簡》讀後感
- laravel入門教程讀後感Laravel
- Spring Microservices讀後感SpringROS
- 《黑客與畫家》讀後感黑客
- 《程式碼之髓》讀後感
- 讀噹噹elastic-job後感AST
- 《程式設計人生》讀後感程式設計
- 《管理的常識》讀後感
- 《尋覓意義》讀後感
- 《資料探勘導論》讀後感
- 單核工作法讀後感單核
- 《演算法圖解》讀後感演算法圖解
- nodejs開發指南讀後感NodeJS
- 《七週七語言》讀後感
- 【讀後感】【Tom】《Effective Oracle by Design》Oracle
- 作業0 部落格讀後感
- do_while_true退役讀後感While
- 讀《更改SAP BW Client 的前後》之後感client
- 《價值流動-Project To Product》讀後感Project
- 關於Code Review的文章讀後感View
- 03《軟體工程思想》讀後感02軟體工程
- 01《軟體工程思想》讀後感01軟體工程