這是一篇翻譯文章,Django是Python中最流行、也是最強大的Web框架,被很大公司所使用。這篇文章總結了Django開發中一些非常好的最佳實踐應用
如果你決定學習如何用Python和Django 構建網站,這是不錯的選擇,這裡列出了一系列Django最佳實踐,如果你對某些觀點不同意,可以在下面留言。
基礎
- 使用Pipenv管理虛擬環境
- 使用自定義使用者模型(custom user model)
- 優先使用GCBV(通用類檢視),退而求其次的選擇是使用類檢視而不是函式檢視。
- 像
SECRET_KET
這樣的變數應該使用環境變數來管理,而不是寫在程式碼中 - 使用多setting檔案,所以
DEBUG
不應該出現在生產環境中 - 本地使用基於Docker的Postgres資料庫
- 必須有單元測試和整合測試,越多越好
安全方面
- 使用Pony Checkup 一步檢查網站的安全
- 始終使用最新版本的Django
- 用 SSL/HTTPS 部署
- 修改admin的url,而不是使用預設的
/admin/
第三方包
- django-debug-toolbar 除錯訊息和資料庫查詢時非常有用
- django-extensions 這個倉庫收集了很多擴充套件庫,尤其是
runserver_plus
- django-allauth 提供社交認證和使用者email確認
- Whitenoise 服務於靜態檔案(也可以使用S3,亞馬遜的物件儲存,國內可以使用阿里雲或者七牛)
- Sentry 記錄錯誤日誌
通用
- 沒有既定認可的Django專案目錄結構,但是 cookiecutter-django 是最流行的
- 越來越多的人使用 Django Rest Framework 來構建 Result API。