From 77a974d88d9053b97823f20d127438fc3403bd4f Mon Sep 17 00:00:00 2001 From: Jelmer Draaijer Date: Sat, 27 Jan 2024 12:23:15 +0100 Subject: [PATCH] Try POSTGRES_ vars when DATABASE_URL is improperly configured --- .../config/settings/base.py | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 3bf3a73cc..e95934a11 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -44,16 +44,28 @@ LOCALE_PATHS = [str(BASE_DIR / "locale")] # DATABASES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#databases -{% if cookiecutter.use_docker == "y" -%} -DATABASES = {"default": env.db("DATABASE_URL")} -{%- else %} -DATABASES = { - "default": env.db( - "DATABASE_URL", - default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}", - ), -} -{%- endif %} +try: + { % if cookiecutter.use_docker == "y" - %} + DATABASES = {"default": env.db("DATABASE_URL")} + { % - else %} + DATABASES = { + "default": env.db( + "DATABASE_URL", + default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}", + ), + } + { % - endif %} +except environ.ImproperlyConfigured: + DATABASES = { + "default": { + "ENGINE": "django.db.backends.postgresql", + "NAME": env.str("POSTGRES_DB"), + "USER": env.str("POSTGRES_USER"), + "PASSWORD": env.str("POSTGRES_PASSWORD"), + "HOST": env.str("POSTGRES_HOST"), + "PORT": env.str("POSTGRES_PORT"), + } + } DATABASES["default"]["ATOMIC_REQUESTS"] = True # https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-DEFAULT_AUTO_FIELD DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"