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.rst
and such.- author_name:
This is you! The value goes into places like
LICENSE
and 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
username
oremail
. If you chooseusername
, theemail
field will be included. If you chooseemail
, theusername
field will be excluded. It is best practice to always include an email field, so there is no option for having just theusername
field.- 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_ZONE
setting of the project.- windows:
Indicates whether the project should be configured for development on Windows.
- use_pycharm:
Indicates whether the project should be configured for development with PyCharm.
- use_docker:
Indicates whether the project should be configured to use Docker and Docker Compose.
- postgresql_version:
Select a PostgreSQL version to use. The choices are:
14
13
12
11
10
- 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
- use_async:
Indicates whether the project should use web sockets with Uvicorn + Gunicorn.
- use_drf:
Indicates whether the project should be configured to use Django Rest Framework.
- 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_mailhog:
Indicates whether the project should be configured to use MailHog.
- 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). Note: .env(s) are only utilized when Docker Compose and/or Heroku support is enabled.- debug:
Indicates whether the project should be configured for debugging. This option is relevant for Cookiecutter Django developers only.