Добавил разделение баз данных. Ну и первая попытка настроить деплой
Some checks failed
Auto-Deploy-prodman / deploy (push) Failing after 1s

This commit is contained in:
2026-02-14 23:20:44 +03:00
parent e77237ca5e
commit 97c187ac97
9 changed files with 172 additions and 13 deletions

View File

@@ -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'