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/'