Django個人網站,從開發到部署總結
本文面向的是比較新手的玩家,大牛請繞行
第一部分 開發
對於0基礎的同學,Django的上手其實不高,特別是配合自帶的管理員admin介面,開發工作可以很直觀。強烈建議跟隨著官網的入門教程走一遍,上手很快。
下面我用一張圖概括一下我所理解的Django:
在搞清楚每一個層的功能後,你不用耗力思考它們之間怎麼合作,Django都給你處理好了,Django讓你的精力全部放在業務邏輯。比如我的個人網站中,設計了繪圖展示和小說展示的功能,擴充套件功能的時候很輕鬆,讓我感覺到使用框架的巨大便利。
一些建議:
- 前端CSS框架我選擇了Bootstrap,不過後來還發現挺多好看的框架的,我是後悔了,列出來大家慢慢選
- 可以使用
- semantic-ui,如果熟悉Bootstrap,學習這個基本沒有成本
- pure很小,很強大的CSS框架,簡潔乾淨
- 偏愛流行的Material Design風格?那麼這個框架Materializecss,和這個框架Mui很適合你
- Bluma也相當的不錯
- 可以使用
- Jquery是對於新手非常不錯的選擇,網上的教程很豐富,配合Bootstrap能實現挺多的效果,比如瀑布流
- 使用virtualenv,配置獨立的python開發環境
- 更多的使用通用檢視
- 一個好用的IDE可以幫你節約很多時間,推薦pycharm
在開發中我用到的一些第三方庫:
在開發過程中,這個github上的教程對我幫助很大,作者是一個全棧工程師,我參考了其中一些基礎的部分,文中還有很多我沒有完成的擴充套件,比如開發對應的APP和API等等。
第二部分 部署
我選擇了儘量簡單,免費的部署方式,這裡給大家參考一下:
部署平臺我對比選擇了heroku
優勢:
+ 操作簡單,只要你會使用git,就能完成部署。一開始我看官網的教程,也是半懂不懂的。但是實際操作起來,發現過程步驟簡直不能更少!
+ 免費,heroku提供免費版,對於個人部落格來說,非常足夠了
限制:
+ 官網需要翻牆
+ 註冊需要的郵箱,qq,163都被封了。用Google郵箱註冊的
+ heroku是可以自定義域名的,不過你得繫結一張信用卡。某寶25可以買到虛擬信用卡服務,你也可以繫結自己的。
你可以按照這個教程走一遍
Django部署後用的http伺服器,我選擇官方示例中的gunicorn, 而靜態檔案的serve,同樣使用官方案例中的whitenoise
我自己的blog中,有一個檔案儲存功能要實現,但是Django中建議檔案的server最好獨立,並且heroku本身每次重啟,都會清空非專案檔案。所以利用其他方式來實現檔案的儲存非常必要。
我自己有一個虛擬主機,提供了FTP服務。所以我使用django-storages這個第三方庫,這個官方庫的文件有些不友好,怎麼配置ftp儲存啥都沒解釋。好在本身實現很簡單。到Django的官網看看如何自定義一個FileStorage,然後看看原始碼,應該就沒問題。