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.
- 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.
- 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.
- database_engine:
Cookiecutter now supports the following databases:
Postgres
MySQL
Select the database you want to use for your project.
- database_version:
Select the version of the database you want to use for your project.
Note
Database versions are shown in the format{database_engine}@{version}.So make sure you select the versoin accoring to the database version you seleted in the previous step.For example, if you selected Postgres as your database, make sure to select from one of the options starting withpostgresql@{version_you_want}and if you seleted MySQL, select one of the options starting withmysql@{version_you_want}.Currently, following PostgreSQL versions are supported:
14
13
12
11
10
Currently, following MySQL versions are supported:
5.7
- cloud_provider:
Select a cloud provider for static & media files. The choices are:
Note that if you choose no cloud provider, 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
Gulp: 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.