Download aureon_backend/settings.py from CineDev/Aureon: direct link, hf CLI and curl.
- Browser
- Download file 4.59 kB
-
https://huggingface.co/spaces/CineDev/Aureon/resolve/main/aureon_backend/settings.py
- Command line
-
hf download hf://spaces/CineDev/Aureon/aureon_backend/settings.py
-
curl -L -o settings.py https://huggingface.co/spaces/CineDev/Aureon/resolve/main/aureon_backend/settings.py
4.59 kB
| # backend/aureon_backend/settings.py | |
| import os | |
| from pathlib import Path | |
| import dj_database_url | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| BASE_DIR = Path(__file__).resolve().parent.parent | |
| SECRET_KEY = os.getenv('SECRET_KEY', 'django-insecure-default-key') | |
| DEBUG = os.getenv('DEBUG', 'True') == 'True' | |
| ALLOWED_HOSTS = ['*'] | |
| INSTALLED_APPS = [ | |
| 'django.contrib.admin', | |
| 'django.contrib.auth', | |
| 'django.contrib.contenttypes', | |
| 'django.contrib.sessions', | |
| 'django.contrib.messages', | |
| 'django.contrib.staticfiles', | |
| 'rest_framework', | |
| 'corsheaders', | |
| 'users', | |
| 'finance', | |
| 'ai_assistant', | |
| 'importer', | |
| ] | |
| MIDDLEWARE = [ | |
| 'corsheaders.middleware.CorsMiddleware', | |
| '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 = 'aureon_backend.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 = 'aureon_backend.wsgi.application' | |
| DATABASES = { | |
| 'default': dj_database_url.config( | |
| default=os.getenv('DATABASE_URL'), | |
| conn_max_age=600, | |
| conn_health_checks=True, | |
| ssl_require=True, | |
| ) | |
| } | |
| 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' | |
| AUTH_USER_MODEL = 'users.User' | |
| REST_FRAMEWORK = { | |
| 'DEFAULT_AUTHENTICATION_CLASSES': [ | |
| 'users.authentication.SupabaseAuthentication', | |
| ], | |
| 'DEFAULT_PERMISSION_CLASSES': [ | |
| 'rest_framework.permissions.IsAuthenticated', | |
| ], | |
| 'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler', | |
| } | |
| # Supabase Configuration | |
| SUPABASE_URL = os.getenv('SUPABASE_URL') | |
| SUPABASE_KEY = os.getenv('SUPABASE_KEY') | |
| SUPABASE_JWT_SECRET = os.getenv('SUPABASE_JWT_SECRET') # Optional - only needed for HS256 | |
| # CORS Configuration | |
| CORS_ALLOW_ALL_ORIGINS = True | |
| CORS_ALLOW_CREDENTIALS = True | |
| CORS_ALLOW_HEADERS = [ | |
| 'accept', | |
| 'accept-encoding', | |
| 'authorization', | |
| 'content-type', | |
| 'dnt', | |
| 'origin', | |
| 'user-agent', | |
| 'x-csrftoken', | |
| 'x-requested-with', | |
| ] | |
| CORS_ALLOW_METHODS = [ | |
| 'DELETE', | |
| 'GET', | |
| 'OPTIONS', | |
| 'PATCH', | |
| 'POST', | |
| 'PUT', | |
| ] | |
| # CSRF Settings | |
| CSRF_TRUSTED_ORIGINS = [ | |
| origin.strip() for origin in os.getenv( | |
| 'CSRF_TRUSTED_ORIGINS', | |
| 'http://localhost:5173,http://127.0.0.1:5173' | |
| ).split(',') | |
| if origin.strip() | |
| ] | |
| CSRF_COOKIE_SECURE = not DEBUG | |
| CSRF_COOKIE_HTTPONLY = True | |
| # Cache Configuration (required for JWKS key caching) | |
| CACHES = { | |
| 'default': { | |
| 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', | |
| 'LOCATION': 'unique-snowflake', | |
| 'TIMEOUT': 3600, # 1 hour | |
| 'OPTIONS': { | |
| 'MAX_ENTRIES': 1000 | |
| } | |
| } | |
| } | |
| # Email Settings (SendGrid) | |
| EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' | |
| EMAIL_HOST = 'smtp.sendgrid.net' | |
| EMAIL_PORT = 587 | |
| EMAIL_USE_TLS = True | |
| EMAIL_HOST_USER = 'apikey' | |
| EMAIL_HOST_PASSWORD = os.getenv('SENDGRID_API_KEY', '') | |
| DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'noreply@aureon.com') | |
| # Logging Configuration | |
| LOGGING = { | |
| 'version': 1, | |
| 'disable_existing_loggers': False, | |
| 'handlers': { | |
| 'console': { | |
| 'class': 'logging.StreamHandler', | |
| }, | |
| }, | |
| 'root': { | |
| 'handlers': ['console'], | |
| 'level': 'INFO', | |
| }, | |
| 'loggers': { | |
| 'django': { | |
| 'handlers': ['console'], | |
| 'level': 'INFO', | |
| 'propagate': False, | |
| }, | |
| }, | |
| } |