# coding=utf-8 import os import raven import environ import socket try: HOSTNAME = socket.gethostname() except: HOSTNAME = 'localhost:8000' root = environ.Path(__file__) - 2 env = environ.Env() MOD = os.environ.get('MOD', 'Dev') if MOD == 'Test': environ.Env.read_env(str(root) + '/config_app/settings/test.env') elif MOD == 'Dev': environ.Env.read_env(str(root) + '/config_app/settings/dev.env') elif MOD == 'Prod': environ.Env.read_env(str(root) + '/config_app/settings/prod.env') else: raise ImportError('no such environ ' + MOD) EMAIL_CONFIG = env.email_url('EMAIL_URL',) vars().update(EMAIL_CONFIG) BROKER_URL = 'amqp://guest:guest@localhost:5672//' CELERY_RESULT_BACKEND = 'django-db' CELERY_CACHE_BACKEND = 'django-cache' BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 180} CELERY_EMAIL_TASK_CONFIG = { 'name': 'djcelery_email_send', 'queue': 'celery', 'rate_limit': '50/m', 'ignore_result': False, } CELERYD_TASK_TIME_LIMIT = 300 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) AUTH_USER_MODEL = 'access.User' VZAAR = 'f1e965defc6fbaa92c544cf84267e830' SMS = '5ED9C6BB-41E8-C760-10FA-F8A310D88952' ALLOWED_HOSTS = ['*'] DOMAIN = 'https://go.skillbox.ru' BILL_LOGIN = '1501' BILL_URL = 'https://api.simplepay.pro/sp/payment' BILL_KEY = u'848360a6b0b8cdfaca3603ede75e4d8b' BILL_RESULT_KEY = u'82a513fc6a0bd9cb087e0df4be5520f6' BILL_TOKEN = u'c63fc7fdc74de318e1f9b078b6d4406a3e62f522b00fb305afe61c0ead238eb9c88dcab6b324727537fe5c1631cba3a9bcb76955364aa269334b42fb4099d236' AMO_USER_LOGIN = 'baryshnikov@mokselle.com' AMO_USER_HASH = 'd639c26c1c1900e5a8cee66cd3395bdc' AMO_SUBDOMAIN = 'mokselle' DEFAULT_FROM_EMAIL = 'robo@skillbox.ru' YANDEX_MONEY_DEBUG = False YANDEX_MONEY_SCID = '149639' YANDEX_MONEY_SHOP_ID = '157133' YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise' YANDEX_MONEY_FAIL_URL = 'https://%s/finance/fail/' % HOSTNAME YANDEX_MONEY_SUCCESS_URL = 'https://%s/finance/access/' % HOSTNAME # информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True # Application definition # место куда сохраняем пользовательские файлы PERSONAL_FILES = '/personal_files/' DATABASES = { 'default': env.db(), } SESSION_ENGINE = 'redis_sessions.session' CELERY_EMAIL_CHUNK_SIZE = 1 CACHES = { 'default': env.cache(), } EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend' SECRET_KEY = env('SECRET_KEY') libs = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_celery_results', 'django_celery_beat', "djcelery_email", 'yandex_money', 'phonenumber_field', 'raven.contrib.django.raven_compat', ) apps = ( 'access', 'course_service.maps', 'course_service.courses', 'storage', 'finance', 'library', 'achievements', 'config_app', 'progress', ) INSTALLED_APPS = libs + apps MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', #'access.middleware.CheckPerm', 'access.middleware.RequestToApi', ] ROOT_URLCONF = 'lms.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, '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', ], }, }, ] WSGI_APPLICATION = 'lms.wsgi.application' # Password validation # https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators 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 = 'ru-ru' TIME_ZONE = 'Europe/Moscow' USE_I18N = True USE_L10N = True USE_TZ = False MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATIC_URL = '/static/' RAVEN_CONFIG = { 'dsn': 'http://caaea487274f4e23a9107862484c79f3:3d463ad4717942508536f7a659921950@sentry.skillbox.ru/3' } DEBUG = env('DEBUG')