Skip to content
Snippets Groups Projects
Commit 5f0728bc authored by jan.bednarik's avatar jan.bednarik
Browse files

majak: Use .env for environment setup

parent f5517e98
No related branches found
No related tags found
No related merge requests found
...@@ -13,6 +13,15 @@ Je třeba nastavit environment proměnné: ...@@ -13,6 +13,15 @@ Je třeba nastavit environment proměnné:
| proměnná | default | popis | | proměnná | default | popis |
| --- | --- | --- | | --- | --- | --- |
| `DATABASE_URL` | | DSN k databázi (např. `postgres://user:pass@localhost:5342/majak`) | | `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 ## Pod pokličkou
...@@ -80,9 +89,18 @@ To nainstaluje Pythonní závislosti pro vývoj projektu na lokále. ...@@ -80,9 +89,18 @@ To nainstaluje Pythonní závislosti pro vývoj projektu na lokále.
#### Nastavení environment proměnných #### Nastavení environment proměnných
Nastav environment proměnné (viz konfigurace výše). Pro jednoduchost doporučujeme Environment proměnné (viz konfigurace výše) se načítají ze souboru `.env`, který
použít [direnv](https://direnv.net/), který nastaví environment proměnné pro vývoj může vypadat takto:
při změně adresáře na adresář s projektem.
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 ### Management projektu
......
import os.path
from os.path import join from os.path import join
from pathlib import Path
import environ import environ
env = environ.Env() ROOT_DIR = Path(__file__).parents[2]
PROJECT_DIR = ROOT_DIR / "majak"
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
env = environ.Env()
environ.Env.read_env(str(ROOT_DIR / ".env"))
# Application definition # Application definition
...@@ -57,7 +57,7 @@ ROOT_URLCONF = "majak.urls" ...@@ -57,7 +57,7 @@ ROOT_URLCONF = "majak.urls"
TEMPLATES = [ TEMPLATES = [
{ {
"BACKEND": "django.template.backends.django.DjangoTemplates", "BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [join(PROJECT_DIR, "templates"),], "DIRS": [str(PROJECT_DIR / "templates")],
"APP_DIRS": True, "APP_DIRS": True,
"OPTIONS": { "OPTIONS": {
"context_processors": [ "context_processors": [
...@@ -113,17 +113,17 @@ STATICFILES_FINDERS = [ ...@@ -113,17 +113,17 @@ STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.AppDirectoriesFinder", "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 # ManifestStaticFilesStorage is recommended in production, to prevent outdated
# Javascript / CSS assets being served from cache (e.g. after a Wagtail upgrade). # 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 # See https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage
STATICFILES_STORAGE = "django.contrib.staticfiles.storage.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/" STATIC_URL = "/static/"
MEDIA_ROOT = join(BASE_DIR, "media_files") MEDIA_ROOT = str(ROOT_DIR / "media_files")
MEDIA_URL = "/media/" MEDIA_URL = "/media/"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment