From c07309127b880e779ab931806c8b35a397c9aa6c Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Wed, 29 Oct 2025 10:02:24 +0545 Subject: [PATCH] feat(config): add dj-database-url for simplified database configuration --- src/templates/env_sample.j2 | 5 ++++- src/templates/requirements.j2 | 1 + src/templates/settings_production.j2 | 25 +++++++++++++++++-------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/templates/env_sample.j2 b/src/templates/env_sample.j2 index 0cc6e90..3d81792 100644 --- a/src/templates/env_sample.j2 +++ b/src/templates/env_sample.j2 @@ -3,7 +3,10 @@ DJANGO_SETTINGS_MODULE={{ project_name }}.settings.development SECRET_KEY= your-secret-key ALLOWED_HOSTS=api.your-domain.com,www.your-domain.com -# Database +# Database URL (Option 1) +DATABASE_URL= + +# Database (Option 2) DB_NAME= DB_USER= DB_PASSWORD= diff --git a/src/templates/requirements.j2 b/src/templates/requirements.j2 index 6bdaa52..ff7d2bf 100644 --- a/src/templates/requirements.j2 +++ b/src/templates/requirements.j2 @@ -8,3 +8,4 @@ django-cors-headers whitenoise psycopg2-binary gunicorn +dj-database-url diff --git a/src/templates/settings_production.j2 b/src/templates/settings_production.j2 index 4177d81..b815894 100644 --- a/src/templates/settings_production.j2 +++ b/src/templates/settings_production.j2 @@ -1,22 +1,31 @@ from .base import * import os +import dj_database_url DEBUG = False SECRET_KEY = os.getenv('SECRET_KEY') ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS', '').split(',') # Database +# Option 1: Using dj_database_url (recommended for production) DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': os.getenv('DB_NAME'), - 'USER': os.getenv('DB_USER'), - 'PASSWORD': os.getenv('DB_PASSWORD'), - 'HOST': os.getenv('DB_HOST'), - 'PORT': os.getenv('DB_PORT'), - } + 'default': dj_database_url.parse(os.getenv('DATABASE_URL')) } +# Option 2: Individual database parameters (uncomment to use) +# DATABASES = { +# 'default': { +# 'ENGINE': 'django.db.backends.postgresql', +# 'NAME': os.getenv('DB_NAME'), +# 'USER': os.getenv('DB_USER'), +# 'PASSWORD': os.getenv('DB_PASSWORD'), +# 'HOST': os.getenv('DB_HOST'), +# 'PORT': os.getenv('DB_PORT'), +# } +# } + + + # Email settings EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = os.getenv('EMAIL_HOST')