OpenSlides/server/openslides/global_settings.py

126 lines
2.9 KiB
Python
Raw Normal View History

import os
from openslides.utils.plugins import collect_plugins
MODULE_DIR = os.path.realpath(os.path.dirname(os.path.abspath(__file__)))
2012-02-09 17:35:18 +01:00
# Application definition
INSTALLED_APPS = [
2019-01-06 16:22:33 +01:00
"openslides.core",
"openslides.users",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.staticfiles",
"rest_framework",
"openslides.agenda",
"openslides.topics",
"openslides.motions",
"openslides.assignments",
"openslides.mediafiles",
]
INSTALLED_PLUGINS = collect_plugins() # Adds all automaticly collected plugins
MIDDLEWARE = [
2019-01-06 16:22:33 +01:00
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.locale.LocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"openslides.utils.autoupdate.AutoupdateBundleMiddleware",
]
2019-01-06 16:22:33 +01:00
ROOT_URLCONF = "openslides.urls"
2019-01-06 16:22:33 +01:00
ALLOWED_HOSTS = ["*"]
TEMPLATES = [
{
2019-01-06 16:22:33 +01:00
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
}
]
# Email
# https://docs.djangoproject.com/en/1.10/topics/email/
2019-01-06 16:22:33 +01:00
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_TIMEOUT = (
2019-10-29 15:05:52 +01:00
5 # Timeout in seconds for blocking operations like the connection attempt
)
# Internationalization
# https://docs.djangoproject.com/en/1.10/topics/i18n/
2019-01-06 16:22:33 +01:00
LANGUAGE_CODE = "en"
2012-02-09 17:35:18 +01:00
LANGUAGES = (
2019-01-06 16:22:33 +01:00
("en", "English"),
("de", "Deutsch"),
("fr", "Français"),
("es", "Español"),
("pt", "Português"),
("cs", "Český"),
("ru", "русский"),
2012-02-09 17:35:18 +01:00
)
2019-01-06 16:22:33 +01:00
TIME_ZONE = "UTC"
2012-02-09 17:35:18 +01:00
USE_I18N = True
USE_L10N = True
USE_TZ = True
2019-01-06 16:22:33 +01:00
LOCALE_PATHS = [os.path.join(MODULE_DIR, "locale")]
2012-02-09 17:35:18 +01:00
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
2012-02-09 17:35:18 +01:00
2019-01-06 16:22:33 +01:00
STATIC_URL = "/static/"
2019-01-06 16:22:33 +01:00
STATICFILES_DIRS = [os.path.join(MODULE_DIR, "static")]
2012-02-09 17:35:18 +01:00
# Sessions and user authentication
# https://docs.djangoproject.com/en/1.10/topics/http/sessions/
# https://docs.djangoproject.com/en/1.10/topics/auth/
2012-02-09 17:35:18 +01:00
2019-01-06 16:22:33 +01:00
AUTH_USER_MODEL = "users.User"
2019-01-06 16:22:33 +01:00
AUTH_GROUP_MODEL = "users.Group"
2019-01-06 16:22:33 +01:00
SESSION_COOKIE_NAME = "OpenSlidesSessionID"
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
2019-01-06 16:22:33 +01:00
CSRF_COOKIE_NAME = "OpenSlidesCsrfToken"
CSRF_COOKIE_AGE = None
PASSWORD_HASHERS = [
2019-01-06 16:22:33 +01:00
"django.contrib.auth.hashers.PBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
"django.contrib.auth.hashers.Argon2PasswordHasher",
"django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
"django.contrib.auth.hashers.BCryptPasswordHasher",
]
# Files
# https://docs.djangoproject.com/en/1.10/topics/files/
2019-01-06 16:22:33 +01:00
MEDIA_URL = "/media/"
# Enable updating the last_login field for users on every login.
ENABLE_LAST_LOGIN_FIELD = False