天天看點

免費開源的 HelloDjango 系列教程,結束還是開始?

我們已經成功地開發了一個功能比較完備的個人部落格,是時候來總結一下我們的工作了。

在教程的前兩篇,我們介紹了如何搭建 django 開發環境,如何建立 django 項目以及 django 應用,這是我們進行 django 項目開發的基礎。

第 3、4 篇:講了 django ORM 的基礎操作。ORM 是 django 核心中的核心,不僅 django 自帶的應用底層全都依賴于 ORM,大部分使用 django 建構的應用基本也離不開 django ORM 的操作,是以能否熟練掌握 django 的 ORM API 決定了能否寫出高品質、高性能的 django 應用。

第 5、6 篇:講解了 django 基本的視圖函數,視圖函數的作用是接收一個 HTTP 請求,根據這個請求的意圖傳回相應的 HTTP 響應。在這個請求處理的過程中,通常都會涉及到使用 ORM 進行資料庫的增删改查操作。

第 7 篇:介紹了 django 的殺手锏應用,開箱即用的 Admin 管理台。我們可以通過這個管理台直接對資料庫中的資料進行增删改查操作。

第 9、10 篇:介紹了 Markdown 的使用,對于部落格、技術論壇之類的應用,使用 Markdown 來撰寫内容是一個常見的需求。

第 12、13 篇:介紹了如何自定義模闆标簽并使用它們。模闆标簽用于 django 的模闆系統中,用來生成 HTML 頁面。django 的模闆系統自帶了大量的模闆标簽。但如果自帶的标簽不滿足需求,我們就可以拓展 django 模闆系統的 API 來自定義模闆标簽。

第 14 篇:我們利用上述學習到的知識開發了一個獨立的 django 評論應用。這裡面我們還初步接觸了表單的使用。django 的表單是對 HTML 表單的封裝,它在背景完成資料校驗、清理等功能,并對非法的表單輸入傳回給用戶端友好的錯誤提示。

第 16、17、18、19:向大家介紹了運維方面的知識,包括如何在伺服器上部署 django 應用,如何編寫自動化腳本來全自動部署,如何給網站開啟 HTTPS 以提高安全性。特别是使用 Docker 進行部署後,我們把整個 django 部署的過程縮減到隻需線上執行幾條指令就能完成,Docker 幫助我們極大簡化了部署流程。

第 21 篇:我們介紹了基于類的視圖和通用類視圖。之前說了,django 的視圖本質上是一個函數,它接收一個 HTTP 請求,傳回一個 HTTP 響應。類視圖雖然是一個類,但這隻是針對開發者而言,django 通過 Python 魔法将類轉化為一個可被調用的函數。使用類的好處是,它允許被繼承,是以在某些情況下可以提高代碼的複用性。

第 22 篇:示範了如何在 Python 腳本裡面獨立地使用 django 的 ORM。一般要使用 django 的 ORM 必須啟動整個 django 項目,而如果要在獨立的腳本中使用的話,就必須進行一些額外的設定。

第 23 篇:我們介紹了如何使用 django 第三方庫,django 的強大不僅在于它自身功能的完備程度,更在于其繁榮的社群。大量開發者在開源平台釋出了很多優質的

手機遊戲交易平台

django 拓展應用,涵蓋了 web 開發的方方面面。這裡我們隻介紹了一個分頁應用,更多應用大家可以在 GitHub 通過搜尋關鍵詞 django 進行探索。

第 27、28 篇:我們介紹了搜尋功能的實作。一開始使用的是比較簡單的搜尋方式,利用之前所學的 django 知識就能完成。不過為了更好的搜尋體驗,我們進一步引入了 elasticsearch 這個專業的搜尋服務來提供搜尋功能,同時使用了一個 django 第三方庫 django-haystack 來将 elasticsearch 和 django 無縫對接。同時可以看到,有了 Docker 容器技術,引入一個外部服務變得非常簡單。

第 29、30、31 篇:我們對部落格補充了完善的單元測試,測試過程中我們發現了一些隐藏的 bug 并進行了修複,由此測試的重要性可見一斑。此外,為了衡量測試的品質,我們使用 coverage.py 對代碼測試覆寫率進行了統計,越高的測試覆寫率說明測試越充分,程式出現 bug 的幾率也就越小。

現在,我們已經有了一個功能比較完備的個人部落格應用。而且,在測試的保障護航下,我們可以在不破壞現用功能的情況下,輕松加入新的功能。

教程進行到這裡,HelloDjango 部落格教程就要準備告一段落了,大部分 web 開發中的需求,你都可以通過教程中講到的知識點,結合 django 的官方文檔來實作。

不過,真的要結束了嗎?我的回答是沒有也不想結束!

Django 中還有很多值得介紹的地方,就拿部落格來說,我們還可以做這些很酷的功能:

支援使用者登入,甚至使用 GitHub、新浪微網誌等第三方應用登入

支援多級評論

國際化

使用緩存進行性能優化

支援郵件訂閱,有新的部落格就發送郵件提醒訂閱者

等等,這些對于其他 Web 系統來說,基本也都是必不可少的。

是以,HelloDjango 部落格項目會繼續以這樣的形式繼續下去:

圍繞着某一個功能進行開發,功能開發完成之後附帶輸出一篇詳細介紹功能實作原理和過程的教程。我希望 HelloDjango 部落格項目不僅僅是一個教學示範項目,也不僅僅是一個高品質、功能完備的 django 第三方部落格應用,而是兩者都是!

這些教程會及時通過 HelloGitHub 微信公衆号和 追夢人物的部落格 進行更新,敬請關注!

号外

此外,雖然 HelloDjango 部落格項目教程定期更新已經結束,但接下來我會開始以定期更新的方式向大家介紹如何 django-restframework + Vue 或者 React 這種更加現代化的前後端分離開發方式,大量公司都采用這種開發方式,如果你以找工作為目的而學習 django 的話,怎麼能不學習這種開發模式呢?

HelloDjango-blogs 的教程暫時告一段落,全新的 HelloDjango-django-restframework 系列教程就要要重新揚帆起航了,大家敬請期待!

是以還是那句話,敬請關注 HelloGitHub 微信公衆号以及 追夢人物的部落格,免費學習 Django 全棧開發。