An excerpt from the repository, fetched Nov 13, 2026.
Read the project’s introduction
Cookiecutter Django
Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting
production-ready Django projects quickly.
Documentation: https://cookiecutter-django.readthedocs.io/en/latest/
See Troubleshooting for common errors and obstacles
If you have problems with Cookiecutter Django, please open issues don't send
emails to the maintainers.
Features
For Django 6.0
Works with Python 3.14
Renders Django projects with 100% starting test coverage
Twitter Bootstrap v5
12-Factor based settings via django-environ
Secure by default. We believe in SSL.
Optimized development and production settings
Registration via django-allauth
Comes with custom user model ready to go
Optional basic ASGI setup for Websockets
Optional custom static build using Gulp or Webpack
Send emails via Anymail (using Mailgun by default or Amazon SES if AWS is selected cloud provider, but switchable)
Media storage using Amazon S3, Google Cloud Storage, Azure Storage or nginx
Docker support using docker-compose for development and production (using Traefik with LetsEncrypt support)
Procfile for deploying to Heroku
Instructions for deploying to PythonAnywhere
Run tests with unittest or pytest
Customizable PostgreSQL version
Default integration with pre-commit for identifying simple issues before submission to code review
Optional Integrations
These features can be enabled during initial project setup.
Serve static files from Amazon S3, Google Cloud Storage, Azure Storage or Whitenoise
Configuration for Celery and Flower (the latter in Docker setup only)
Integration with Mailpit or Mailtrap Local for local email testing
Integration with Sentry for error logging
Constraints
Only maintained 3rd party libraries are used.
Uses PostgreSQL everywhere: 14 - 18 (MySQL fork also available).
Environment variables for configuration (This won't work with Apache/mod_wsgi).
Support this Project!
This project is an open source project run by volunteers. You can sponsor us via OpenCollective or individually via GitHub Sponsors:
Daniel Roy Greenfeld, Project Lead (GitHub, Patreon): expertise in Django and AWS ELB.
Fabio C. Barrionuevo, Core Developer (GitHub): expertise in Python/Django, hands-on DevOps and frontend experience.
Bruno Alla, Core Developer (GitHub): expertise in Python/Django and DevOps.
Nikita Shupeyko, Core Developer (GitHub): expertise in Python/Django, hands-on DevOps and frontend experience.
Projects that provide financial support to the maintainers:
Two Scoops of Django
Two Scoops of Django 3.x is the best ice cream-themed Django reference in the universe!
PyUp
PyUp brings you automated security and dependency updates used by Google and other organizations. Free for open source projects!
Usage
Let's pretend you want to create a Django project called "redditclone". Rather than using startproject
and then editing the results to include your name, email, and various configuration issues that always get forgotten until the worst possible moment, get cookiecutter to do all the work.
First, get Cookiecutter. Trust me, it's awesome:
uv tool install "cookiecutter>=1.7.0"
Now run it against this repo:
uvx cookiecutter https://github.com/cookiecutter/cookiecutter-django
You'll be prompted for some values. Provide them, then a Django project will be created for you.
Warning: After this point, change 'Daniel Greenfeld', 'pydanny', etc to your own information.
Answer the prompts with your own desired options. For example:
Cloning into 'cookiecutter-django'...
remote: Counting objects: 550, done.
remote: Compressing objects: 100% (310/310), done.
remote: Total 550 (delta 283), reused 479 (delta 222)
Receiving objects: 100% (550/550), 127.66 KiB | 58 KiB/s, done.
Resolving deltas: 100% (283/283), done.
project_name [My Awesome Project]: Reddit Clone
project_slug [reddit_clone]: reddit
description [Behold My Awesome Project!]: A reddit clone.
author_name [Daniel Roy Greenfeld]: Daniel Greenfeld
domain_name [example.com]: myreddit.com
email [daniel-greenfeld@example.com]: pydanny@gmail.com
version [0.1.0]: 0.0.1
Select open_source_license:
1 - MIT
2 - BSD
3 - GPLv3
4 - Apache Software License 2.0
5 - Not open source
Choose from 1, 2, 3, 4, 5 [1]: 1
Select username_type:
1 - username
2 - email
Choose from 1, 2 [1]: 1
timezone [UTC]: America/Los_Angeles
windows [n]: n
Select an editor to use. The choices are:
1 - None
2 - PyCharm
3 - VS Code
Choose from 1, 2, 3 [1]: 1
use_docker [n]: n
Select postgresql_version:
1 - 18
2 - 17
3 - 16
4 - 15
5 - 14
Choose from 1, 2, 3, 4 [1]: 1
Select cloud_provider:
1 - AWS
2 - GCP
3 - None
Choose from 1, 2, 3 [1]: 1
Select mail_service:
1 - Mailgun
2 - Amazon SES
3 - Mailjet
4 - Mandrill
5 - Postmark
6 - Sendgrid
7 - Brevo (formerly SendinBlue)
8 - SparkPost
9 - Other SMTP
Choose from 1, 2, 3, 4, 5, 6, 7, 8, 9 [1]: 1
Select rest_api [None]:
1 - None
2 - DRF
3 - Django Ninja
Choose from 1, 2, 3 [1]: 1
use_async [n]: n
Select frontend_pipeline:
1 - None
2 - Django Compressor
3 - Gulp
4 - Webpack
Choose from 1, 2, 3, 4 [1]: 1
use_celery [n]: y
Select mail_catcher:
1 - None
2 - Mailpit
3 - Mailtrap Local
Choose from 1, 2, 3 [1]: 1
use_sentry [n]: y
use_whitenoise [n]: n
use_heroku [n]: y
Select ci_tool:
1 - None
2 - Travis
3 - Gitlab
4 - Github
Choose from 1, 2, 3, 4 [1]: 4
keep_local_envs_in_vcs [y]: y
debug [n]: n
Enter the project and take a look around:
cd reddit/
ls
Create a git repo and push it there:
git init
git add .
git commit -m "first awesome commit"
git remote add origin git@github.com:pydanny/redditclone.git
git push -u origin main
Now take a look at your repo. Don't forget to carefully look at the generated README. Awesome, right?
For local development, see the following:
Developing locally
Developing locally using docker
Community
Have questions? Before you ask questions anywhere else, please post your question on Stack Overflow under the cookiecutter-django tag. We check there periodically for questions.
If you think you found a bug or want to reque
Read the full README on GitHub