Добавил разделение баз данных. Ну и первая попытка настроить деплой
Some checks failed
Auto-Deploy-prodman / deploy (push) Failing after 1s
Some checks failed
Auto-Deploy-prodman / deploy (push) Failing after 1s
This commit is contained in:
@@ -11,6 +11,7 @@ https://docs.djangoproject.com/en/6.0/ref/settings/
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
import os
|
||||
|
||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
@@ -22,10 +23,19 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'django-insecure-5(p6^by%ax10=(ev#ltdb8#f4@mq4&9gqnjvr9dboc=7t_&sbf'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
# читаем переменную окружения
|
||||
ENV_TYPE = os.getenv('ENV_TYPE', 'local')
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
# Настройки безопасности
|
||||
# DEBUG будет True везде, кроме сервера
|
||||
DEBUG = ENV_TYPE != 'server'
|
||||
|
||||
if not DEBUG:
|
||||
# На сервере список хостов должен быть ограничен
|
||||
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', 'localhost').split(',')
|
||||
else:
|
||||
# Для разработки разрешаем всё
|
||||
ALLOWED_HOSTS = ['*']
|
||||
|
||||
|
||||
# Application definition
|
||||
@@ -57,7 +67,9 @@ ROOT_URLCONF = 'core.urls'
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [BASE_DIR / 'templates'],
|
||||
'DIRS': [
|
||||
os.path.join(BASE_DIR, 'templates'),
|
||||
],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
@@ -71,16 +83,42 @@ TEMPLATES = [
|
||||
|
||||
WSGI_APPLICATION = 'core.wsgi.application'
|
||||
|
||||
|
||||
print(f"DEBUG: Current ENV_TYPE is {ENV_TYPE}")
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/6.0/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': BASE_DIR / 'db.sqlite3',
|
||||
if ENV_TYPE == 'server':
|
||||
# Для Docker на удаленном сервере (максимальная защита через .env)
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': os.getenv('DB_NAME'),
|
||||
'USER': os.getenv('DB_USER'),
|
||||
'PASSWORD': os.getenv('DB_PASS'),
|
||||
'HOST': os.getenv('DB_HOST', 'db'),
|
||||
'PORT': '5432',
|
||||
}
|
||||
}
|
||||
elif ENV_TYPE == 'dev':
|
||||
# Настройки для локальной разработки с внешней БД
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': 'prodman_dev_db',
|
||||
'USER': 'dev_user',
|
||||
'PASSWORD': 'dev_password',
|
||||
'HOST': '192.168.1.90', # локальный сервер БД
|
||||
'PORT': '5432',
|
||||
}
|
||||
}
|
||||
else:
|
||||
# Режим "на коленке"
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': BASE_DIR / 'db.sqlite3',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
@@ -117,4 +155,9 @@ USE_TZ = True
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/6.0/howto/static-files/
|
||||
|
||||
# --- Статика и Медиа ---
|
||||
STATIC_URL = 'static/'
|
||||
STATIC_ROOT = BASE_DIR / 'staticfiles'
|
||||
|
||||
MEDIA_URL = 'media/'
|
||||
MEDIA_ROOT = BASE_DIR / 'media'
|
||||
|
||||
Reference in New Issue
Block a user