diff --git a/README.md b/README.md index c9bbb23b184841b0b152758d2824e511b33f2e71..1b8b37b47711f3e9a6f11ce5ff89dd8d2c5ef729 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,15 @@ Je třeba nastavit environment proměnné: | proměnná | default | popis | | --- | --- | --- | | `DATABASE_URL` | | DSN k databázi (např. `postgres://user:pass@localhost:5342/majak`) | +| `OIDC_RP_REALM_URL` | | OpenID server realm URL (např. `http://localhost:8080/auth/realms/master/`) | +| `OIDC_RP_CLIENT_ID` | | OpenID Client ID | +| `OIDC_RP_CLIENT_SECRET` | | OpenID Client Secret | + +V produkci musí být navíc nastaveno: + +| proměnná | default | popis | +| --- | --- | --- | +| `DJANGO_SECRET_KEY` | | tajný šifrovací klíč | ## Pod pokličkou @@ -80,9 +89,18 @@ To nainstaluje Pythonní závislosti pro vývoj projektu na lokále. #### Nastavení environment proměnných -Nastav environment proměnné (viz konfigurace výše). Pro jednoduchost doporučujeme -použít [direnv](https://direnv.net/), který nastaví environment proměnné pro vývoj -při změně adresáře na adresář s projektem. +Environment proměnné (viz konfigurace výše) se načítají ze souboru `.env`, který +může vypadat takto: + + DATABASE_URL=postgres://db:db@localhost:5432/majak + OIDC_RP_REALM_URL=http://localhost:8080/auth/realms/master/ + OIDC_RP_CLIENT_ID=majak + OIDC_RP_CLIENT_SECRET=abcd + +Pro lokální vývoj obsahují settings tyto výchozí hodnoty: + + DEBUG = True + ALLOWED_HOSTS = ["*"] ### Management projektu diff --git a/majak/settings/base.py b/majak/settings/base.py index cfd30cc34cbb7a8354da7e55fc549abf735d7b21..cc6c4ccbccd5649d2fb1c2f1b40108a25b31f39a 100644 --- a/majak/settings/base.py +++ b/majak/settings/base.py @@ -1,13 +1,13 @@ -import os.path from os.path import join +from pathlib import Path import environ -env = environ.Env() - -PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -BASE_DIR = os.path.dirname(PROJECT_DIR) +ROOT_DIR = Path(__file__).parents[2] +PROJECT_DIR = ROOT_DIR / "majak" +env = environ.Env() +environ.Env.read_env(str(ROOT_DIR / ".env")) # Application definition @@ -57,7 +57,7 @@ ROOT_URLCONF = "majak.urls" TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": [join(PROJECT_DIR, "templates"),], + "DIRS": [str(PROJECT_DIR / "templates")], "APP_DIRS": True, "OPTIONS": { "context_processors": [ @@ -113,17 +113,17 @@ STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.AppDirectoriesFinder", ] -STATICFILES_DIRS = [join(PROJECT_DIR, "static")] +STATICFILES_DIRS = [str(PROJECT_DIR / "static")] # ManifestStaticFilesStorage is recommended in production, to prevent outdated # Javascript / CSS assets being served from cache (e.g. after a Wagtail upgrade). # See https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage STATICFILES_STORAGE = "django.contrib.staticfiles.storage.ManifestStaticFilesStorage" -STATIC_ROOT = join(BASE_DIR, "static_files") +STATIC_ROOT = str(ROOT_DIR / "static_files") STATIC_URL = "/static/" -MEDIA_ROOT = join(BASE_DIR, "media_files") +MEDIA_ROOT = str(ROOT_DIR / "media_files") MEDIA_URL = "/media/"