diff options
author | Matthew Lemon <y@yulqen.org> | 2024-05-23 09:52:29 +0100 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2024-05-23 09:52:29 +0100 |
commit | 5f5a3de40a8d2fa9c6067c2b0fa567ff11419e80 (patch) | |
tree | dee287f6b3f5a7b671388f1f15972f1d9073b773 /conf | |
parent | 88dacb9f57a40c96f48c359275fe11f85aa1f051 (diff) |
wip: moved config to base.py
Diffstat (limited to 'conf')
-rw-r--r-- | conf/settings/base.py | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/conf/settings/base.py b/conf/settings/base.py new file mode 100644 index 0000000..a16c488 --- /dev/null +++ b/conf/settings/base.py @@ -0,0 +1,155 @@ +""" +Django settings for ded project. + +Generated by 'django-admin startproject' using Django 4.0.5. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + +# For staging (on OpenShift) +# was getting 403, CSRF verification failed error +# doesn't work +CSRF_COOKIE_SECURE = True +SESSION_COOKIE_SECURE = True +CSRF_TRUSTED_ORIGINS = [ + 'https://*.apps.ocp1.azure.dso.digital.mod.uk', +] + +# 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! +# TODO Replace with environment variable +SECRET_KEY = "django-insecure-z*tv24r*)-$q*l1=l64))qocs1x$*10c&6w_@ld^dw#=q#ndy2" + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ["nginx-proxy-route-ho-defnucsyr-ded.apps.ocp1.azure.dso.digital.mod.uk", "localhost", "127.0.0.1"] + +STATIC_ROOT = BASE_DIR / "static" + +# Application definition +INSTALLED_APPS = [ + "instruments.apps.InstrumentsConfig", + "engagements.apps.EngagementsConfig", + "myuser.apps.AuthuserConfig", + "core.apps.CoreConfig", + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", + "crispy_forms", + "django_htmx", + # "debug_toolbar", +] + + +# needed for debug_toolbar +INTERNAL_IPS = ["127.0.0.1", "localhost"] + +# DEBUG_TOOLBAR_PANELS = ["debug_toolbar.panels.request.RequestPanel"] + +# SHOW_TOOLBAR_CALLBACK = "debug_toolbar.middleware.show_toolbar" + +MIDDLEWARE = [ + "django.middleware.security.SecurityMiddleware", + # "debug_toolbar.middleware.DebugToolbarMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django_htmx.middleware.HtmxMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", +] + +ROOT_URLCONF = "ded.urls" + +# new auth user +AUTH_USER_MODEL = "myuser.TeamUser" + + +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [BASE_DIR / "templates"], + "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", + ], + }, + }, +] + +CRISPY_ALLOWED_TEMPLATE_PACKS = ("w3",) +CRISPY_TEMPLATE_PACK = "w3" + +WSGI_APPLICATION = "ded.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", + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.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/4.0/topics/i18n/ + +LANGUAGE_CODE = "en-us" + +TIME_ZONE = "UTC" + +USE_I18N = True + +USE_TZ = False + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = "static/" + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" |