|
""" |
|
Django settings for stockfund project. |
|
|
|
Generated by 'django-admin startproject' using Django 4.2. |
|
|
|
For more information on this file, see |
|
https://docs.djangoproject.com/en/4.2/topics/settings/ |
|
|
|
For the full list of settings and their values, see |
|
https://docs.djangoproject.com/en/4.2/ref/settings/ |
|
""" |
|
import os |
|
from pathlib import Path |
|
|
|
|
|
BASE_DIR = Path(__file__).resolve().parent.parent.parent |
|
|
|
|
|
|
|
|
|
|
|
SECRET_KEY = "django-insecure-miq=zs#3kpf79%j$!bhq*++ho5nf5b!9ri(j(v*y%rw=we)1^b" |
|
|
|
|
|
DEBUG = True |
|
|
|
ALLOWED_HOSTS = ["mlnsio-text2sql.hf.space", "*"] |
|
DATA_UPLOAD_MAX_NUMBER_FIELDS = 50000 |
|
|
|
|
|
|
|
INSTALLED_APPS = [ |
|
"django.contrib.admin", |
|
"django.contrib.auth", |
|
"django.contrib.contenttypes", |
|
"django.contrib.sessions", |
|
"django.contrib.messages", |
|
"django.contrib.staticfiles", |
|
"core", |
|
"django_crontab", |
|
"data_pipeline", |
|
] |
|
|
|
MIDDLEWARE = [ |
|
"core.middleware.ExceptionMiddleware", |
|
"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", |
|
] |
|
|
|
ROOT_URLCONF = "stockfund.urls" |
|
|
|
TEMPLATES = [ |
|
{ |
|
"BACKEND": "django.template.backends.django.DjangoTemplates", |
|
"DIRS": [], |
|
"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 = "stockfund.wsgi.application" |
|
|
|
|
|
|
|
|
|
|
|
DATABASES = { |
|
"default": { |
|
"ENGINE": "django.db.backends.postgresql_psycopg2", |
|
"NAME": os.environ["DB_NAME"], |
|
"USER": os.environ["DB_USER"], |
|
"PASSWORD": os.environ["DB_PASSWORD"], |
|
"HOST": os.environ["DB_HOST"], |
|
"PORT": "5432", |
|
"TEST": { |
|
"NAME": os.environ.get("TEST_DB_NAME", "mf_backend"), |
|
}, |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
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 = "en-us" |
|
|
|
TIME_ZONE = "UTC" |
|
|
|
USE_I18N = True |
|
|
|
USE_TZ = True |
|
|
|
|
|
|
|
|
|
|
|
STATIC_URL = "static/" |
|
|
|
|
|
|
|
|
|
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" |
|
|
|
CRONJOBS = [ |
|
("0 0 1 * *", "core.cron.store_mutual_funds"), |
|
] |
|
|
|
LOGGING = { |
|
"version": 1, |
|
"disable_existing_loggers": False, |
|
"filters": { |
|
"require_debug_false": { |
|
"()": "django.utils.log.RequireDebugFalse", |
|
}, |
|
"require_debug_true": { |
|
"()": "django.utils.log.RequireDebugTrue", |
|
}, |
|
}, |
|
"formatters": { |
|
"verbose": { |
|
"format": "{levelname} {asctime} {module}.{funcName} {lineno} - {message}", |
|
"style": "{", |
|
}, |
|
"simple": { |
|
"format": "{levelname} {message}", |
|
"style": "{", |
|
}, |
|
"django.server": { |
|
"()": "django.utils.log.ServerFormatter", |
|
"format": "[{server_time}] {message}", |
|
"style": "{", |
|
}, |
|
}, |
|
"handlers": { |
|
"console": { |
|
"level": "INFO", |
|
"filters": ["require_debug_true"], |
|
"class": "logging.StreamHandler", |
|
}, |
|
"django.server": { |
|
"level": "INFO", |
|
"class": "logging.StreamHandler", |
|
"formatter": "django.server", |
|
}, |
|
"mail_admins": { |
|
"level": "ERROR", |
|
"filters": ["require_debug_false"], |
|
"class": "django.utils.log.AdminEmailHandler", |
|
}, |
|
"file": { |
|
"level": "DEBUG", |
|
"class": "logging.FileHandler", |
|
"filename": os.path.join(BASE_DIR, "debug.log"), |
|
"formatter": "verbose", |
|
}, |
|
}, |
|
"loggers": { |
|
"django": { |
|
"handlers": ["console", "mail_admins"], |
|
"level": "DEBUG", |
|
}, |
|
"django.server": { |
|
"handlers": ["django.server"], |
|
"level": "DEBUG", |
|
"propagate": False, |
|
}, |
|
"core": { |
|
"handlers": ["file"], |
|
"level": "DEBUG", |
|
"propagate": False, |
|
}, |
|
"*": { |
|
"handlers": ["file"], |
|
"level": "DEBUG", |
|
"propagate": False, |
|
}, |
|
}, |
|
} |
|
|
|
MORNINGSTAR_KEY = os.environ["MORNINGSTAR_KEY"] |
|
MORNINGSTAR_HOST = "morning-star.p.rapidapi.com" |
|
|
|
MORNINGSTAR_API_HEADERS = { |
|
"X-RapidAPI-Key": MORNINGSTAR_KEY, |
|
"X-RapidAPI-Host": MORNINGSTAR_HOST, |
|
} |
|
|