|
|
@ -27,10 +27,27 @@ load_dotenv(BASE_DIR.parent / '.env') |
|
|
# SECURITY WARNING: keep the secret key used in production secret! |
|
|
# SECURITY WARNING: keep the secret key used in production secret! |
|
|
SECRET_KEY = os.getenv('DJANGO_SECRET_KEY', 'django-insecure-@8*97xo5!gdi!x*94-%n8$b63%ljy#@&^#7$h!9v-4a2#r+98t') |
|
|
SECRET_KEY = os.getenv('DJANGO_SECRET_KEY', 'django-insecure-@8*97xo5!gdi!x*94-%n8$b63%ljy#@&^#7$h!9v-4a2#r+98t') |
|
|
|
|
|
|
|
|
# SECURITY WARNING: don't run with debug turned on in production! |
|
|
|
|
|
DEBUG = os.getenv('DJANGO_DEBUG', 'True').lower() in ('true', '1', 't') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Environment setup (development / production) |
|
|
|
|
|
# Reads DEV=True/False or ENVIRONMENT='development'/'production' |
|
|
|
|
|
ENVIRONMENT = os.getenv('ENVIRONMENT', os.getenv('DJANGO_ENV', 'development')).lower() |
|
|
|
|
|
IS_DEV = os.getenv('DEV', 'True' if ENVIRONMENT in ('development', 'dev') else 'False').lower() in ('true', '1', 't') |
|
|
|
|
|
|
|
|
|
|
|
if IS_DEV: |
|
|
|
|
|
DEBUG = True |
|
|
|
|
|
ALLOWED_HOSTS = ['*'] |
|
|
|
|
|
CORS_ALLOW_ALL_ORIGINS = True |
|
|
|
|
|
CSRF_TRUSTED_ORIGINS = [ |
|
|
|
|
|
'http://localhost:5173', 'http://localhost:8000', 'http://127.0.0.1:8000', 'http://localhost', 'http://127.0.0.1' |
|
|
|
|
|
] |
|
|
|
|
|
else: |
|
|
|
|
|
DEBUG = os.getenv('DJANGO_DEBUG', 'False').lower() in ('true', '1', 't') |
|
|
ALLOWED_HOSTS = [host.strip() for host in os.getenv('ALLOWED_HOSTS', '*').split(',') if host.strip()] |
|
|
ALLOWED_HOSTS = [host.strip() for host in os.getenv('ALLOWED_HOSTS', '*').split(',') if host.strip()] |
|
|
|
|
|
CORS_ALLOW_ALL_ORIGINS = os.getenv('CORS_ALLOW_ALL_ORIGINS', 'False').lower() in ('true', '1', 't') |
|
|
|
|
|
if not CORS_ALLOW_ALL_ORIGINS: |
|
|
|
|
|
CORS_ALLOWED_ORIGINS = [origin.strip() for origin in os.getenv('CORS_ALLOWED_ORIGINS', '').split(',') if origin.strip()] |
|
|
|
|
|
csrf_origins = os.getenv('CSRF_TRUSTED_ORIGINS', 'http://localhost,http://127.0.0.1') |
|
|
|
|
|
CSRF_TRUSTED_ORIGINS = [origin.strip() for origin in csrf_origins.split(',') if origin.strip()] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Application definition |
|
|
# Application definition |
|
|
@ -201,3 +218,50 @@ CELERY_BEAT_SCHEDULE = { |
|
|
}, |
|
|
}, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# Standard Logging System Configuration |
|
|
|
|
|
LOG_LEVEL = os.getenv('LOG_LEVEL', 'DEBUG' if IS_DEV else 'INFO') |
|
|
|
|
|
|
|
|
|
|
|
LOGGING = { |
|
|
|
|
|
'version': 1, |
|
|
|
|
|
'disable_existing_loggers': False, |
|
|
|
|
|
'formatters': { |
|
|
|
|
|
'verbose': { |
|
|
|
|
|
'format': '[{asctime}] [{levelname}] [{name}:{lineno}] {message}', |
|
|
|
|
|
'style': '{', |
|
|
|
|
|
'datefmt': '%Y-%m-%d %H:%M:%S', |
|
|
|
|
|
}, |
|
|
|
|
|
'simple': { |
|
|
|
|
|
'format': '{levelname} {message}', |
|
|
|
|
|
'style': '{', |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
'handlers': { |
|
|
|
|
|
'console': { |
|
|
|
|
|
'class': 'logging.StreamHandler', |
|
|
|
|
|
'formatter': 'verbose', |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
'root': { |
|
|
|
|
|
'handlers': ['console'], |
|
|
|
|
|
'level': LOG_LEVEL, |
|
|
|
|
|
}, |
|
|
|
|
|
'loggers': { |
|
|
|
|
|
'django': { |
|
|
|
|
|
'handlers': ['console'], |
|
|
|
|
|
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), |
|
|
|
|
|
'propagate': False, |
|
|
|
|
|
}, |
|
|
|
|
|
'crawler': { |
|
|
|
|
|
'handlers': ['console'], |
|
|
|
|
|
'level': LOG_LEVEL, |
|
|
|
|
|
'propagate': False, |
|
|
|
|
|
}, |
|
|
|
|
|
'ads': { |
|
|
|
|
|
'handlers': ['console'], |
|
|
|
|
|
'level': LOG_LEVEL, |
|
|
|
|
|
'propagate': False, |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|