这是一篇翻译文章,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。