Project Generation Options
This page describes all the template options that will be prompted by the cookiecutter CLI prior to generating your project.
- project_name:
Your project’s human-readable name, capitals and spaces allowed.
- project_slug:
Your project’s slug without dashes or spaces. Used to name your repo and in other places where a Python-importable version of your project name is needed.
- description:
Describes your project and gets used in places like
README.rstand such.- author_name:
This is you! The value goes into places like
LICENSEand such.- email:
The email address you want to identify yourself in the project.
- username_type:
The type of username you want to use in the project. This can be either
usernameoremail. If you chooseusername, theemailfield will be included. If you chooseemail, theusernamefield will be excluded. It is best practice to always include an email field, so there is no option for having just theusernamefield.- domain_name:
The domain name you plan to use for your project once it goes live. Note that it can be safely changed later on whenever you need to.
- version:
The version of the project at its inception.
- open_source_license:
A software license for the project. The choices are:
Not open source
- timezone:
The value to be used for the
TIME_ZONEsetting of the project.- windows:
Indicates whether the project should be configured for development on Windows.
- editor:
Select an editor to use. The choices are:
- use_docker:
Indicates whether the project should be configured to use Docker, Docker Compose and devcontainer.
- postgresql_version:
Select a PostgreSQL version to use. The choices are:
18
17
16
15
14
- cloud_provider:
Select a cloud provider for static & media files. The choices are:
If you choose no cloud provider and docker, the production stack will serve the media files via an nginx Docker service. Without Docker, the media files won’t work.
- mail_service:
Select an email service that Django-Anymail provides
- rest_api:
Select a REST API framework to use. The choices are:
- use_async:
Indicates whether the project should use web sockets with Uvicorn + Gunicorn.
- frontend_pipeline:
Select a pipeline to compile and optimise frontend assets (JS, CSS, …):
None
Both Gulp and Webpack support Bootstrap recompilation with real-time variables alteration.
- use_celery:
Indicates whether the project should be configured to use Celery.
- use_mailpit:
Indicates whether the project should be configured to use Mailpit.
- use_sentry:
Indicates whether the project should be configured to use Sentry.
- use_whitenoise:
Indicates whether the project should be configured to use WhiteNoise.
- use_heroku:
Indicates whether the project should be configured so as to be deployable to Heroku.
- ci_tool:
Select a CI tool for running tests. The choices are:
- keep_local_envs_in_vcs:
Indicates whether the project’s .envs/.local/ should be kept in VCS (comes in handy when working in teams where local environment reproducibility is strongly encouraged).
- debug:
Indicates whether the project should be configured for debugging. This option is relevant for Cookiecutter Django developers only.