diff --git a/requirements.txt b/requirements.txt index 7866a5d2eec8dbf5e0109d99d6c59f9d2ff22a7a..ce1127d46dd359a20755a9e9fdcf0cfa91bdfb87 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,7 @@ psycopg2-binary==2.8.3 dj-database-url==0.5.0 pytz==2019.2 selenium==3.141.0 +python-dotenv==0.10.3 sqlparse==0.3.0 urllib3==1.25.3 whitenoise==4.1.3 \ No newline at end of file diff --git a/superlists/settings.py b/superlists/settings.py index 84769088f0ad873629af658ee4ff7d9c022de0e7..3802b1276ddbf16170f32a1895559c3c7f48c705 100644 --- a/superlists/settings.py +++ b/superlists/settings.py @@ -12,12 +12,16 @@ https://docs.djangoproject.com/en/1.11/ref/settings/ import os import dj_database_url +import dotenv PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -PRODUCTION = os.environ.get('DATABASE_URL') != None + +dotenv_file = os.path.join(BASE_DIR, ".env") +if os.path.isfile(dotenv_file): + dotenv.load_dotenv(dotenv_file) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/ @@ -80,15 +84,15 @@ WSGI_APPLICATION = 'superlists.wsgi.application' DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + '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') } } -# If Using Heroku Environment, then Use Database Setting on Heroku -if PRODUCTION: - DATABASES['default'] = dj_database_url.config() - # Password validation # https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators