You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

376 lines
12 KiB

# -*- coding: utf-8 -*-
# Django settings for project project.
import os
import sys
from imp import find_module
path = lambda *xs: os.path.abspath(os.path.join(os.path.dirname(__file__), *xs))
sys.path.insert(1, path('..'))
sys.path.insert(1, path('.'))
sys.path.insert(1, path('project'))
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
# Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
ALLOWED_HOSTS = []
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = 'Europe/Moscow'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'ru'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = False
DECIMAL_SEPARATOR = '.'
DATE_FORMAT = 'd.m.Y'
DATE_INPUT_FORMATS = ('%d.%m.%Y', '%d.%m.%Y', '%Y-%m-%d')
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/var/www/example.com/media/"
MEDIA_ROOT = path('../_public_html/media')
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
MEDIA_URL = '/m/'
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/var/www/example.com/static/"
STATIC_ROOT = path('../_public_html/static')
# URL prefix for static files.
# Example: "http://example.com/static/", "http://static.example.com/"
STATIC_URL = '/s/'
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
path('static'),
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
# Make this unique, and don't share it with anybody.
SECRET_KEY = 'uqrv8bpqt-#up^ay-)^@bcjjgq1^jy8qc!fkr!1wd*u%)1dg#y'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.doc.XViewMiddleware',
'cms.middleware.page.CurrentPageMiddleware',
'cms.middleware.user.CurrentUserMiddleware',
'cms.middleware.toolbar.ToolbarMiddleware',
'cms.middleware.language.LanguageCookieMiddleware',
'djangocms_ckeditor_filer.middleware.ThumbnailMiddleware',
# my
'project.customer.middleware.ProfileMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'cms.context_processors.cms_settings',
'sekizai.context_processors.sekizai',
'project.callback.context_processors.add_forms',
'project.customer.context_processors.license_check_soon_ends',
'project.commons.context_processors.get_dadata_api_key',
)
ROOT_URLCONF = 'project.urls'
# Python dotted path to the WSGI application used by Django's runserver.
WSGI_APPLICATION = 'project.wsgi.application'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
path('templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'pytils',
# 'sorl.thumbnail',
# 'django_filters',
'autocomplete_light',
'cms', # django CMS itself
'mptt', # utilities for implementing a modified pre-order traversal tree
'menus', # helper for model independent hierarchical website navigation
'sekizai', # for javascript and css management
'captcha',
'yandex_money',
'djangocms_admin_style', # for the admin skin. You **must** add 'djangocms_admin_style' in the list before 'django.contrib.admin'.
'django.contrib.messages', # to enable messages framework (see :ref:`Enable messages <enable-messages>`)
'filer',
'easy_thumbnails',
'djangocms_file',
'djangocms_flash',
'djangocms_googlemap',
'djangocms_inherit',
'djangocms_picture',
'djangocms_teaser',
'djangocms_video',
'djangocms_link',
'djangocms_snippet',
'djangocms_text_ckeditor',
'cmsplugin_filer_file',
'cmsplugin_filer_folder',
'cmsplugin_filer_link',
'cmsplugin_filer_image',
'cmsplugin_filer_teaser',
'cmsplugin_filer_video',
'djangocms_ckeditor_filer',
'django.contrib.admin',
'django.contrib.admindocs',
# my apps
'project.commons',
'project.myauth',
'project.customer',
'project.docs',
'project.pages',
'project.callback',
'project.index_blocks',
# keep it last
'south',
)
AUTH_USER_MODEL = 'myauth.DokUser'
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'yandex_money': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': path('../log/yandex_money.log'),
'maxBytes': 1024 * 1024 * 5,
'backupCount': 5,
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'yandex_money': {
'handlers': ['yandex_money'],
'level': 'DEBUG',
'propagate': False
},
}
}
SERVER_EMAIL = 'dokumentor@localhost'
EMAIL_SUBJECT_PREFIX = '[DOKUMENTOR.RU] '
REGISTRATION_OPEN = True
LOGIN_URL = '/user/login/'
SUPPORT_EMAIL = 'help@dokumentor.ru'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
PDF_FONTS_ROOT = path('pdf_fonts')
XLS_ROOT = path('xls_templates')
LANGUAGES = (
('ru', 'Russian'),
#('en', gettext('English')),
)
CMS_TEMPLATES = (
('pages/index.html', 'Index Page'),
('pages/inner_page.html', u'Внутренняя страница'),
('pages/placeholders.html', u'Блоки для других страниц'),
)
CMS_PLACEHOLDER_CONF = {
'why_register': {
'plugins': ['CMSDescTextBlockPlugin'],
'name': u'Зачем регистрироваться',
},
'reasons': {
'plugins': ['CMSExtendedTextBlockPlugin'],
'name': u'На главной - причины',
},
}
CMS_PERMISSION = True
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "dokumentor"
BROKER_PASSWORD = "dokumentor"
BROKER_VHOST = "dokumentor"
CELERY_TIMEZONE = 'Europe/Moscow'
CELERY_ACCEPT_CONTENT = ['pickle'] # will be disabled in Celery 3.2
from datetime import timedelta
CALLBACK_SETTINGS = {
'EMAIL_SENDER': '!DEFINE',
'MANAGERS_EMAILS': ['!DEFINE'],
'NEW_REQ_AVAIL_EMAIL_SUBJ': u'Вопрос',
}
CELERYBEAT_SCHEDULE = {
'check-license': {
'task': 'project.customer.tasks.check_license',
'schedule': timedelta(days=1),
},
}
CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s %(image)s<a href='#' class='captcha_refresh'><img src='" + STATIC_URL + "img/refresh.png' /></a>%(text_field)s"
CAPTCHA_FONT_SIZE = 36
CKEDITOR_SETTINGS = {
'language': '',
'skin': 'moono',
'toolbar': 'HTMLField',
'toolbar_HTMLField': [
['Undo', 'Redo'],
['ShowBlocks'],
['Format', 'Styles'],
['TextColor', 'BGColor', '-', 'PasteText', 'PasteFromWord'],
['Maximize', ''],
'/',
['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript', '-', 'RemoveFormat'],
['JustifyLeft', 'JustifyCenter', 'JustifyRight'],
['Link', 'Unlink'],
['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Table', 'Filer Image'],
['Source']
],
'extraPlugins': 'filerimage',
'removePlugins': 'image'
}
TEXT_SAVE_IMAGE_FUNCTION = 'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
THUMBNAIL_PROCESSORS = (
'easy_thumbnails.processors.colorspace',
'easy_thumbnails.processors.autocrop',
#'easy_thumbnails.processors.scale_and_crop',
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
'easy_thumbnails.processors.filters',
)
# cache settings
COMMON_CACHE_PREFIX = 'dokumentor_'
CMS_CACHE_PREFIX = '%scms-' % COMMON_CACHE_PREFIX
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
YANDEX_MONEY_DEBUG = False
YANDEX_MONEY_SCID = 84437
YANDEX_MONEY_SHOP_ID = 92585
YANDEX_MONEY_SHOP_PASSWORD = 'sQuMtorHE02U'
YANDEX_MONEY_FAIL_URL = 'https://dokumentor.ru/my/payment/fail/'
YANDEX_MONEY_SUCCESS_URL = 'https://dokumentor.ru/my/payment/success/'
YANDEX_MONEY_PAYMENT_URL = 'https://money.yandex.ru/eshop.xml'
# информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку
YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True
try:
from project.local_settings import *
except ImportError:
pass
DADATA_API_KEY = 'e4232c46f82c0b2e8c5f9bd583d6224ce9c934e0'
DADATA_SECRET_KEY = '9c5c3fdfba74af122730db650346b3e91586abc7'