224 lines
5.9 KiB
Python
224 lines
5.9 KiB
Python
import os
|
|
|
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
# Quick-start development settings - unsuitable for production
|
|
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
|
|
|
|
# SECURITY WARNING: keep the secret key used in production secret!
|
|
SECRET_KEY = 'a$mpn=bgpoa^))l#_29*icq1cwf*_1-p!i9e$xy%1p-#hqja%w'
|
|
|
|
# SECURITY WARNING: don't run with debug turned on in production!
|
|
DEBUG = True
|
|
|
|
ALLOWED_HOSTS = []
|
|
|
|
# Internationalization
|
|
# https://docs.djangoproject.com/en/2.2/topics/i18n/
|
|
|
|
TIME_ZONE = 'UTC'
|
|
|
|
USE_I18N = True
|
|
|
|
USE_L10N = True
|
|
|
|
USE_TZ = True
|
|
|
|
LANGUAGES = [
|
|
('en', 'English'),
|
|
('fi', 'Finnish'),
|
|
('it', 'Italian'),
|
|
('ja', 'Japanese'),
|
|
('pt-br', 'Brazilian Portuguese'),
|
|
('ru', 'Russian'),
|
|
('sv', 'Swedish'),
|
|
('zh-hans', 'Simplified Chinese'),
|
|
('es', 'Spanish'),
|
|
]
|
|
|
|
PARLER_DEFAULT_LANGUAGE_CODE = "en"
|
|
|
|
PARLER_LANGUAGES = {
|
|
None: [{"code": c, "name": n} for (c, n) in LANGUAGES],
|
|
'default': {
|
|
'hide_untranslated': False,
|
|
}
|
|
}
|
|
|
|
# Application definition
|
|
|
|
INSTALLED_APPS = [
|
|
'django.contrib.admin',
|
|
'django.contrib.auth',
|
|
'django.contrib.contenttypes',
|
|
'django.contrib.sessions',
|
|
'django.contrib.messages',
|
|
'django.contrib.staticfiles',
|
|
# Shuuuuuuuuuuuuuuuuup
|
|
'easy_thumbnails',
|
|
'shuup.themes.classic_gray',
|
|
'shuup.core',
|
|
'shuup.admin',
|
|
'shuup.addons',
|
|
'shuup.default_tax',
|
|
'shuup.front',
|
|
'shuup.front.apps.auth',
|
|
'shuup.front.apps.carousel',
|
|
'shuup.front.apps.customer_information',
|
|
'shuup.front.apps.personal_order_history',
|
|
'shuup.front.apps.saved_carts',
|
|
'shuup.front.apps.registration',
|
|
'shuup.front.apps.simple_order_notification',
|
|
'shuup.front.apps.simple_search',
|
|
'shuup.front.apps.recently_viewed_products',
|
|
'shuup.notify',
|
|
'shuup.simple_cms',
|
|
'shuup.customer_group_pricing',
|
|
'shuup.campaigns',
|
|
'shuup.simple_supplier',
|
|
'shuup.order_printouts',
|
|
'shuup.utils',
|
|
'shuup.xtheme',
|
|
'shuup.reports',
|
|
'shuup.default_reports',
|
|
'shuup.regions',
|
|
'shuup.importer',
|
|
'shuup.default_importer',
|
|
'shuup.gdpr',
|
|
'shuup.tasks',
|
|
'shuup.discounts',
|
|
|
|
# external apps
|
|
'bootstrap3',
|
|
'django_countries',
|
|
'django_jinja',
|
|
'django_filters',
|
|
'filer',
|
|
'reversion',
|
|
'registration',
|
|
'rest_framework',
|
|
]
|
|
|
|
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',
|
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
'shuup.front.middleware.ProblemMiddleware',
|
|
'shuup.core.middleware.ShuupMiddleware',
|
|
'shuup.front.middleware.ShuupFrontMiddleware',
|
|
'shuup.xtheme.middleware.XthemeMiddleware',
|
|
'shuup.admin.middleware.ShuupAdminMiddleware'
|
|
]
|
|
|
|
ROOT_URLCONF = 'core.urls'
|
|
|
|
TCP = [
|
|
"django.contrib.auth.context_processors.auth",
|
|
"django.template.context_processors.debug",
|
|
"django.template.context_processors.i18n",
|
|
"django.template.context_processors.media",
|
|
"django.template.context_processors.static",
|
|
"django.template.context_processors.request",
|
|
"django.template.context_processors.tz",
|
|
"django.contrib.messages.context_processors.messages"
|
|
]
|
|
|
|
TEMPLATES = [
|
|
{
|
|
"BACKEND": "django_jinja.backend.Jinja2",
|
|
"APP_DIRS": True,
|
|
"OPTIONS": {
|
|
"match_extension": ".jinja",
|
|
"context_processors": TCP,
|
|
"newstyle_gettext": True,
|
|
"environment": "shuup.xtheme.engine.XthemeEnvironment",
|
|
},
|
|
"NAME": "jinja2",
|
|
},
|
|
{
|
|
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
|
"DIRS": [],
|
|
"APP_DIRS": True,
|
|
"OPTIONS": {
|
|
"context_processors": TCP,
|
|
"debug": DEBUG
|
|
}
|
|
},
|
|
]
|
|
|
|
# set login url here because of `login_required` decorators
|
|
LOGIN_URL = "/login/"
|
|
|
|
SESSION_SERIALIZER = "django.contrib.sessions.serializers.PickleSerializer"
|
|
|
|
SHUUP_PRICING_MODULE = "customer_group_pricing"
|
|
|
|
SHUUP_SETUP_WIZARD_PANE_SPEC = [
|
|
"shuup.admin.modules.shops.views:ShopWizardPane",
|
|
"shuup.admin.modules.service_providers.views.PaymentWizardPane",
|
|
"shuup.admin.modules.service_providers.views.CarrierWizardPane",
|
|
"shuup.xtheme.admin_module.views.ThemeWizardPane",
|
|
"shuup.testing.modules.sample_data.views.SampleObjectsWizardPane" if DEBUG else "",
|
|
"shuup.admin.modules.system.views.TelemetryWizardPane"
|
|
]
|
|
|
|
|
|
SHUUP_ERROR_PAGE_HANDLERS_SPEC = [
|
|
"shuup.admin.error_handlers:AdminPageErrorHandler",
|
|
"shuup.front.error_handlers:FrontPageErrorHandler"
|
|
]
|
|
|
|
SHUUP_SIMPLE_SEARCH_LIMIT = 150
|
|
|
|
if os.environ.get("SHUUP_WORKBENCH_DISABLE_MIGRATIONS") == "1":
|
|
from .utils import get_disabled_migrations
|
|
MIGRATION_MODULES = get_disabled_migrations()
|
|
|
|
|
|
def configure(setup):
|
|
setup.commit(globals())
|
|
|
|
WSGI_APPLICATION = 'core.wsgi.application'
|
|
|
|
|
|
# Database
|
|
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
|
|
|
DATABASES = {
|
|
'default': {
|
|
'ENGINE': 'django.db.backends.sqlite3',
|
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
|
}
|
|
}
|
|
|
|
|
|
# Password validation
|
|
# https://docs.djangoproject.com/en/2.2/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',
|
|
},
|
|
]
|
|
|
|
|
|
# Static files (CSS, JavaScript, Images)
|
|
# https://docs.djangoproject.com/en/2.2/howto/static-files/
|
|
|
|
STATIC_URL = '/static/'
|