medicine-mts/appa/settings.py

195 lines
5.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import environ
import datetime
import django as django_module
from celery.schedules import crontab
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
DJANGO_DIR = os.path.dirname(django_module.__file__)
SECRET_KEY = 'django-insecure-13n6^zl86r@=9@!z8gsfv(q6wpggo+$box)^tklnoe9auck-)c'
root = environ.Path(__file__) - 2
env = environ.Env(
DEBUG=(bool, False),
LANGUAGE_CODE=(str, 'ru-RU'),
TIME_ZONE=(str, 'Asia/Vladivostok'),
USE_TZ=(bool, False),
USE_I18N=(bool, True),
CORS_ORIGIN_WHITELIST=(list, []),
AUTH_CONVERT_PASSWORD_TO_LOWER_CASE=(bool, False)
)
DEBUG = env('DEBUG', False)
REDIS_HOST = env.str('REDIS_HOST', 'medicine-stack-redis')
REDIS_PORT = env.str('REDIS_PORT', '6379')
REDIS_DB = env.str('REDIS_DB', 1)
POSTGRES_HOST = env.str('POSTGRES_HOST', 'medicine-stack-postgres')
POSTGRES_PORT = env.str('POSTGRES_PORT', '5432')
POSTGRES_DB = env.str('POSTGRES_DB', 'medicine_mts')
POSTGRES_USER = env.str('POSTGRES_USER', 'postgres')
POSTGRES_PASSWORD = env.str('POSTGRES_PASSWORD', 'password')
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'constance',
'ace_editor',
'rangefilter',
'appa',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
]
ROOT_URLCONF = 'appa.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'appa/templates'),
DJANGO_DIR
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'appa.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': POSTGRES_HOST,
'PORT': POSTGRES_PORT,
'NAME': POSTGRES_DB,
'USER': POSTGRES_USER,
'PASSWORD': POSTGRES_PASSWORD,
},
'medicine': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'medicine',
'USER': POSTGRES_USER,
'PASSWORD': POSTGRES_PASSWORD,
'HOST': POSTGRES_HOST,
'PORT': POSTGRES_PORT
},
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
LANGUAGE_CODE = env.str('LANGUAGE_CODE')
TIME_ZONE = env.str('TIME_ZONE')
USE_I18N = env.bool('USE_I18N')
USE_TZ = env.bool('USE_TZ')
STATIC_URL = '/medicine-mts/django_static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'django_static')
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
SESSION_COOKIE_NAME = env.str('SESSION_COOKIE_NAME', 'medicine-mts')
CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
CONSTANCE_ADDITIONAL_FIELDS = {
'char': ['django.forms.fields.CharField', {
'widget': 'django.forms.TextInput',
'widget_kwargs': dict(attrs={'size': 60}),
'required': False
}],
'url': ['django.forms.fields.URLField', {
'widget': 'django.forms.TextInput',
'widget_kwargs': dict(attrs={'size': 60}),
'required': False
}],
}
CONSTANCE_CONFIG = {
'USERNAME': ('', 'Имя пользователя', 'char'),
'PASSWORD': ('', 'Пароль', 'char'),
'HOST': ('', 'Хост', 'char'),
'IS_ENABLED': (False, 'Активен', bool),
'MEDICINE_TOKEN': ('', 'Токен', 'char'),
'MEDICINE_HOST': ('http://medicine-app/', 'Хост', 'char'),
}
CONSTANCE_CONFIG_FIELDSETS = (
('МТС', (
'HOST',
'USERNAME',
'PASSWORD',
'IS_ENABLED',
)),
('МИС', (
'MEDICINE_HOST',
'MEDICINE_TOKEN',
)),
)
REQUEST_TIMEOUT = 5
REDIS_CELERY_DB = env.str('REDIS_CELERY_DB', '3')
BROKER_URL = f'redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_CELERY_DB}'
CELERY_DEFAULT_QUEUE = 'default'
CELERY_ENABLE_UTC = True
CELERY_IGNORE_RESULT = True
CELERYBEAT_SCHEDULE = {
}
DATE_FORMAT = 'd.m.Y'
DATETIME_FORMAT = 'd.m.Y H:i'
CALL_REQUEST_TIME_START = datetime.time(9, 0)
CALL_REQUEST_TIME_END = datetime.time(21, 0)
if DEBUG:
AUTH_PASSWORD_VALIDATORS = []
SESSION_COOKIE_NAME = 'dev-medicine-mts'