如果你决定学习如何用 Python 和 Django 构建网站,这是不错的选择,这里列出了一系列 Django 最佳实践,如果你对某些观点不同意,可以在下面留言。
基础
-
使用 Pipenv 管理虚拟环境
-
使用自定义用户模型(custom user model)
-
优先使用 GCBV(通用类视图),退而求其次的选择是使用类视图而不是函数视图。
-
像
SECRET_KET
这样的变量应该使用环境变量来管理,而不是写在代码中 -
使用多 setting 文件,所以
DEBUG
不应该出现在生产环境中 -
本地使用基于 Docker 的 Postgres 数据库(貌似美国人更喜欢用PostgreSQL,而国内用MySQL似乎更多些)
-
必须有单元测试和集成测试,越多越好
安全方面
-
使用 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。
原文链接: https://wsvincent.com/django-best-practices/