#""" #Django settings for mysite project. # #Generated by 'django-admin startproject' using Django 4.2. # #For more information on this file, see #https://docs.djangoproject.com/en/4.2/topics/settings/ # #For the full list of settings and their values, see #https://docs.djangoproject.com/en/4.2/ref/settings/ #""" # #from pathlib import Path # ## Build paths inside the project like this: BASE_DIR / 'subdir'. #BASE_DIR = Path(__file__).resolve().parent.parent # # ## Quick-start development settings - unsuitable for production ## See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ # ## SECURITY WARNING: keep the secret key used in production secret! #SECRET_KEY = 'django-insecure-o=#v)(%#*-o!(!%_hq=y5%1w9m0gpwq1v9hk2p(bdrol%)ro21' # ## SECURITY WARNING: don't run with debug turned on in production! #DEBUG = True # #ALLOWED_HOSTS = [] # # ## Application definition # #INSTALLED_APPS = [ # 'django.contrib.admin', # 'django.contrib.auth', # 'django.contrib.contenttypes', # 'django.contrib.sessions', # 'django.contrib.messages', # 'django.contrib.staticfiles', # 'apps.home' # Enable the inner home (home) #] # #MIDDLEWARE = [ # 'django.middleware.security.SecurityMiddleware', # 'django.contrib.sessions.middleware.SessionMiddleware', # 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', # 'django.contrib.auth.middleware.AuthenticationMiddleware', # 'django.contrib.messages.middleware.MessageMiddleware', # 'django.middleware.clickjacking.XFrameOptionsMiddleware', #] # #ROOT_URLCONF = 'mysite.urls' # #TEMPLATES = [ # { # 'BACKEND': 'django.template.backends.django.DjangoTemplates', # 'DIRS': [], # 'APP_DIRS': True, # 'OPTIONS': { # 'context_processors': [ # 'django.template.context_processors.debug', # 'django.template.context_processors.request', # 'django.contrib.auth.context_processors.auth', # 'django.contrib.messages.context_processors.messages', # ], # }, # }, #] # #WSGI_APPLICATION = 'mysite.wsgi.application' # # ## Database ## https://docs.djangoproject.com/en/4.2/ref/settings/#databases # #DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': BASE_DIR / 'db.sqlite3', # } #} # # ## Password validation ## https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators # #AUTH_PASSWORD_VALIDATORS = [ # { # 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', # }, # { # 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', # }, # { # 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', # }, # { # 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', # }, #] # # ## Internationalization ## https://docs.djangoproject.com/en/4.2/topics/i18n/ # #LANGUAGE_CODE = 'en-us' # #TIME_ZONE = 'UTC' # #USE_I18N = True # #USE_TZ = True # # ## Static files (CSS, JavaScript, Images) ## https://docs.djangoproject.com/en/4.2/howto/static-files/ # #STATIC_URL = 'static/' # ## Default primary key field type ## https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field # #DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' # # ##################################################### # -*- encoding: utf-8 -*- """ Copyright (c) 2019 - present AppSeed.us """ from pathlib import Path import dotenv import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = Path(__file__).resolve().parent.parent CORE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Take environment variables from .env file dotenv.load_dotenv(BASE_DIR / '.env') # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.environ.get('SECRET_KEY', 'super-secret-key') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True if os.environ.get('DEBUG', 'true') == 'true' else False # Assets Management ASSETS_ROOT = os.getenv('ASSETS_ROOT', '/static/assets') # load production server from .env ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').strip().split() CSRF_TRUSTED_ORIGINS = os.environ.get('CSRF_TRUSTED_ORIGINS', '').strip().split() # Codesaces if 'CODESPACE_NAME' in os.environ: CSRF_TRUSTED_ORIGINS.append(f'https://{os.getenv("CODESPACE_NAME")}-8000.{os.getenv("GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN")}') # Docker (Codespaces) CSRF_TRUSTED_ORIGINS.append(f'https://localhost:{os.getenv("NGINX_PORT")}') INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'apps.billing' # Enable the inner home (home) ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'mysite.urls' LOGIN_REDIRECT_URL = "billing" # Route defined in home/urls.py LOGOUT_REDIRECT_URL = "billing" # LOGIN_REDIRECT_URL = '/' # LOGIN_URL = 'login' # Route defined in home/urls.py LOGIN_URL = '/loginuser/' TEMPLATE_DIR = os.path.join(CORE_DIR, "apps/templates") # ROOT dir for templates TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [TEMPLATE_DIR], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'apps.context_processors.cfg_assets_root', 'apps.billing.context_processors.user_role', ], }, }, ] WSGI_APPLICATION = 'mysite.wsgi.application' # Database # https://docs.djangoproject.com/en/3.0/ref/settings/#databases DB_ENGINE = os.environ.get('DB_ENGINE', 'default') if DB_ENGINE == 'default' or DB_ENGINE == 'sqlite3': DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } elif DB_ENGINE == 'postgresql': DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': os.environ.get('DB_NAME'), 'USER': os.environ.get('DB_USER'), 'PASSWORD': os.environ.get('DB_PASSWORD'), 'HOST': os.environ.get('DB_HOST'), 'PORT': os.environ.get('DB_PORT'), } } # Password validation # https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True ############################################################# # SRC: https://devcenter.heroku.com/articles/django-assets # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.9/howto/static-files/ STATIC_URL = 'static/' STATIC_ROOT = BASE_DIR / 'static' # Extra places for collectstatic to find static files. STATICFILES_DIRS = ( os.path.join(CORE_DIR, 'apps/static'), ) EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = os.environ.get('EMAIL_HOST') EMAIL_PORT = os.environ.get('EMAIL_PORT') EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER') EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD') EMAIL_USE_TLS = True if os.environ.get('EMAIL_USE_TLS', 'true') == 'true' else False EMAIL_USE_SSL = True if os.environ.get('EMAIL_USE_SSL', 'true') == 'true' else False ############################################################# #############################################################