import os import environ import sentry_sdk from sentry_sdk.integrations.django import DjangoIntegration BASE_DIR = environ.Path(__file__) - 2 env = environ.Env() env_file = str(BASE_DIR.path('.env')) if os.path.exists(env_file): env.read_env(env_file) SECRET_KEY = '6)mck*tk2eq++!01pr2!7qo7#zf_e(hi_m=-qa4x-ah)lvvt4-' DEBUG = env.bool('DJANGO_DEBUG', True) ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', []) INSTALLED_APPS = [ 'django_extensions', 'bootstrap4', 'crispy_forms', 'djconfig', 'django_celery_results', 'django_celery_beat', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'cabinet.apps.CabinetConfig', 'feeds.apps.FeedsConfig', 'aggregator.apps.AggregatorConfig', 'bots.apps.BotsConfig', ] MIDDLEWARE = [ 'djconfig.middleware.DjConfigMiddleware', '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', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'config.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [str(BASE_DIR.path('templates'))], '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', 'djconfig.context_processors.config', 'config.utils.turbolinks', 'cabinet.utils.cabinet_context_processor', ], }, }, ] WSGI_APPLICATION = 'config.wsgi.application' DATABASES = { 'default': env.db('DATABASE_URL', default='sqlite:///db.sqlite3'), } DATABASES['default']['ATOMIC_REQUESTS'] = True LANGUAGE_CODE = 'en-us' TIME_ZONE = 'Europe/Moscow' USE_I18N = True USE_L10N = True USE_TZ = True STATICFILES_DIRS = [ str(BASE_DIR.path('static')), ] STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ] CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/4", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } SESSION_ENGINE = "django.contrib.sessions.backends.cache" SESSION_CACHE_ALIAS = "default" PUBLIC_ROOT = BASE_DIR.path('public') STATIC_URL = '/static/' STATIC_ROOT = str(PUBLIC_ROOT.path('static')) MEDIA_URL = '/uploads/' MEDIA_ROOT = str(PUBLIC_ROOT.path('uploads')) LOGIN_URL = 'cabinet:login' LOGIN_REDIRECT_URL = 'cabinet:index' LOGOUT_REDIRECT_URL = LOGIN_URL CRISPY_TEMPLATE_PACK = 'bootstrap4' sentry_sdk.init( dsn=env.str('SENTRY_DSN', None), integrations=[DjangoIntegration()], )