Cookiecutter Django:一条命令生成生产级 Django 项目

Django 社区有一个很受关注的项目脚手架工具,已经积累了 13,524 个 Star:

正文顶部截图

README区域截图

Cookiecutter Django 是一个基于 Cookiecutter 框架的项目模板,用于快速生成生产就绪的 Django 项目。它帮开发者省去了从零配置环境、搭建目录结构、集成常用组件的重复工作。

这个模板覆盖了很多实际开发中需要的功能。它支持 Django 6.0 和 Python 3.14,生成的项目默认带有完整的测试覆盖率。前端使用 Twitter Bootstrap v5,配置管理遵循 12 Factor 原则,设置项通过 environ 库从环境变量读取。

安全方面,模板默认启用 SSL,集成了 allauth 处理用户注册和认证。用户模型已经预置好,可以直接使用。文件上传支持 Amazon S3、Google Cloud Storage、Azure Storage 或 nginx 本地存储。邮件发送通过 Anymail 实现,默认接入 Mailgun,也可以切换到 Amazon SES。

部署相关的配置也已经内置。模板提供 Docker 化的开发和生产环境配置,使用 Traefik 做反向代理,支持 LetsEncrypt 自动证书。同时附带 Heroku 的 Procfile 和 PythonAnywhere 的部署说明,方便直接上线。

可选集成的组件包括 Celery 任务队列、Flower 监控面板、Mailpit 本地邮件测试、Sentry 错误日志等。这些都可以在初始化项目时按需选择。静态文件处理也可以选择 Whitenoise 或云存储方案。如果需要 WebSocket 支持,模板还提供了可选的 ASGI 配置。前端构建流程也可以选择集成 Gulp 或 Webpack。

使用方式很简单。先安装 Cookiecutter:

uv tool install "cookiecutter>=1.7.0"

然后执行命令拉取模板并生成项目:

uvx cookiecutter cookiecutter-django

命令会引导你回答一系列配置问题,包括项目名称、作者信息、数据库版本、云服务商、是否使用 Docker、是否集成 Celery、是否接入 Sentry、选择哪种 CI 工具等。回答完成后,一个完整的 Django 项目就生成在当前目录下。

项目的数据库层统一使用 PostgreSQL,14 到 18 版本均可选用。如果你需要 MySQL 支持,社区有一个 fork 版本可以使用。

开发流程方面,模板集成了提交前检查工具,用于在代码提交前自动识别简单问题,支持 unittest 和 pytest 两种测试框架运行测试。开发环境可以直接在本地运行,也可以通过 Docker 启动。

这个项目由几位活跃的 Django 开发者维护,社区在 Discord 和 Stack Overflow 上都有讨论区。网上也有多篇使用教程,涵盖 AWS RDS 集成、Google Cloud Storage 配置、ECS 蓝绿部署等主题。

对于需要快速启动新项目、又不想遗漏安全配置和部署细节的 Django 开发者来说,这个模板能节省不少前期准备工作。

部署细节的 Django 开发者来说,这个模板能节省不少前期准备工作。

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐