From 71e1db851749a1738b3db8b2904b50e73b7a4747 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Sat, 26 Aug 2023 21:36:54 +0200 Subject: [PATCH] Add: setup environ --- archivist/core/settings.py | 46 +++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/archivist/core/settings.py b/archivist/core/settings.py index 8d44435..bc6a6ec 100644 --- a/archivist/core/settings.py +++ b/archivist/core/settings.py @@ -10,22 +10,36 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.0/ref/settings/ """ -from pathlib import Path +import os, environ + +env = environ.Env( + # set casting, default value + DEBUG=(bool, True) +) # Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) +CORE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +# Take environment variables from .env file +environ.Env.read_env(os.path.join(BASE_DIR, '.env')) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-wj*03n+sv=av8#xc5wke*o8lf4*eu&(&xn^uyce=%tdt=4r5n_' +SECRET_KEY = env('SECRET_KEY', default='S#perS3crEt_007') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = env('DEBUG') + +# Assets Management +ASSETS_ROOT = os.getenv('ASSETS_ROOT', '/static/assets') + +# load production server from .env +ALLOWED_HOSTS = ['localhost', 'localhost:85', '127.0.0.1', env('SERVER', default='127.0.0.1') ] +CSRF_TRUSTED_ORIGINS = ['http://localhost:85', 'http://127.0.0.1', 'https://' + env('SERVER', default='127.0.0.1') ] -ALLOWED_HOSTS = [] # Application definition @@ -73,12 +87,24 @@ WSGI_APPLICATION = 'core.wsgi.application' # Database # https://docs.djangoproject.com/en/4.0/ref/settings/#databases -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', +if os.environ.get('DB_ENGINE') and os.environ.get('DB_ENGINE') == "mysql": + DATABASES = { + 'default': { + 'ENGINE' : 'django.db.backends.mysql', + 'NAME' : os.getenv('DB_NAME' , 'gallery_archivist_db'), + 'USER' : os.getenv('DB_USERNAME' , 'gallery_archivist_db_usr'), + 'PASSWORD': os.getenv('DB_PASS' , 'pass'), + 'HOST' : os.getenv('DB_HOST' , 'localhost'), + 'PORT' : os.getenv('DB_PORT' , 3306), + }, + } +else: + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': 'db.sqlite3', + } } -} # Password validation