Manage prod and dev settings separately
This commit is contained in:
parent
0c05340a2c
commit
c43394701e
8 changed files with 77 additions and 19 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,3 +1,5 @@
|
||||||
venv/*
|
venv/*
|
||||||
.idea/*
|
.idea/*
|
||||||
db.sqlite3
|
db.sqlite3
|
||||||
|
*__pycache__*
|
||||||
|
.env
|
||||||
|
|
11
gmba_django/settings/Pipfile
Normal file
11
gmba_django/settings/Pipfile
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[[source]]
|
||||||
|
url = "https://pypi.org/simple"
|
||||||
|
verify_ssl = true
|
||||||
|
name = "pypi"
|
||||||
|
|
||||||
|
[packages]
|
||||||
|
|
||||||
|
[dev-packages]
|
||||||
|
|
||||||
|
[requires]
|
||||||
|
python_version = "3.6"
|
|
@ -9,23 +9,22 @@ https://docs.djangoproject.com/en/3.2/topics/settings/
|
||||||
For the full list of settings and their values, see
|
For the full list of settings and their values, see
|
||||||
https://docs.djangoproject.com/en/3.2/ref/settings/
|
https://docs.djangoproject.com/en/3.2/ref/settings/
|
||||||
"""
|
"""
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
||||||
|
|
||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
SECRET_KEY = 'django-insecure-78s5o(bolc72n@8m3^mx6+g@+e^$g4m#vbv(1+467@u^rx96ic'
|
SECRET_KEY = os.getenv('SECRET_KEY')
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS', '').split(',')
|
||||||
|
|
||||||
ALLOWED_HOSTS = []
|
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
|
@ -70,18 +69,6 @@ TEMPLATES = [
|
||||||
|
|
||||||
WSGI_APPLICATION = 'gmba_django.wsgi.application'
|
WSGI_APPLICATION = 'gmba_django.wsgi.application'
|
||||||
|
|
||||||
|
|
||||||
# Database
|
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': BASE_DIR / 'db.sqlite3',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Password validation
|
# Password validation
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
|
||||||
|
|
10
gmba_django/settings/development.py
Normal file
10
gmba_django/settings/development.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
from .base import *
|
||||||
|
|
||||||
|
DEBUG = True
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||||
|
}
|
||||||
|
}
|
24
gmba_django/settings/production.py
Normal file
24
gmba_django/settings/production.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
from .base import *
|
||||||
|
|
||||||
|
DEBUG = False
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', "").split(",")
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': os.environ.get('SQL_ENGINE', 'django.db.backends.sqlite3'),
|
||||||
|
'NAME': os.environ.get('SQL_DATABASE', os.path.join(BASE_DIR, 'db.sqlite3')),
|
||||||
|
'USER': os.environ.get('SQL_USER', 'user'),
|
||||||
|
'PASSWORD': os.environ.get('SQL_PASSWORD', 'password'),
|
||||||
|
'HOST': os.environ.get('SQL_HOST', 'localhost'),
|
||||||
|
'PORT': os.environ.get('SQL_PORT', ''),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SECURE_SSL_REDIRECT = True
|
||||||
|
|
||||||
|
SESSION_COOKIE_SECURE = True
|
||||||
|
|
||||||
|
CSRF_COOKIE_SECURE = True
|
||||||
|
|
||||||
|
SECURE_BROWSER_XSS_FILTER = True
|
|
@ -8,9 +8,17 @@ https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import dotenv
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gmba_django.settings')
|
dotenv.load_dotenv(
|
||||||
|
os.path.join(os.path.dirname(os.path.dirname(__file__)), '.env')
|
||||||
|
)
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gmba_django.settings.develop')
|
||||||
|
|
||||||
|
if os.getenv('DJANGO_SETTINGS_MODULE'):
|
||||||
|
os.environ['DJANGO_SETTINGS_MODULE'] = os.getenv('DJANGO_SETTINGS_MODULE')
|
||||||
|
|
||||||
application = get_wsgi_application()
|
application = get_wsgi_application()
|
||||||
|
|
12
manage.py
12
manage.py
|
@ -1,12 +1,18 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
"""Django's command-line utility for administrative tasks."""
|
"""Django's command-line utility for administrative tasks."""
|
||||||
|
import dotenv
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""Run administrative tasks."""
|
"""Run administrative tasks."""
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gmba_django.settings')
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gmba_django.settings.development')
|
||||||
|
|
||||||
|
if os.getenv('DJANGO_SETTINGS_MODULE'):
|
||||||
|
os.environ['DJANGO_SETTINGS_MODULE'] = os.getenv('DJANGO_SETTINGS_MODULE')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from django.core.management import execute_from_command_line
|
from django.core.management import execute_from_command_line
|
||||||
except ImportError as exc:
|
except ImportError as exc:
|
||||||
|
@ -20,3 +26,7 @@ def main():
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
dotenv.load_dotenv(
|
||||||
|
os.path.join(os.path.dirname(__file__), '.env')
|
||||||
|
)
|
||||||
|
|
6
requirements.txt
Normal file
6
requirements.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
asgiref==3.4.1
|
||||||
|
Django==3.2.5
|
||||||
|
python-dotenv==0.19.0
|
||||||
|
pytz==2021.1
|
||||||
|
sqlparse==0.4.1
|
||||||
|
typing-extensions==3.10.0.0
|
Loading…
Reference in a new issue