production-taskbar / backend / config / settings / production.py
production.py
Raw
from os import environ, path

exec(open('config/settings/common.py').read())

BASE_DIR = path.abspath(path.join(path.dirname(__file__), "../", "../"))
DEBUG = False
CORS_ALLOW_ALL_ORIGINS = True
FORCE_SCRIPT_NAME = "/sebn-taskbar-manager/"

STATIC_ROOT = path.join(BASE_DIR, "static")
MEDIA_ROOT = path.join(BASE_DIR, "attachments")
STATICFILES_DIRS = (path.join(BASE_DIR, 'staticfiles'), )

STATIC_URL = f"{FORCE_SCRIPT_NAME}/backend/static/"
MEDIA_URL = f"{FORCE_SCRIPT_NAME}/backend/attachments/"

# Error reporting
ADMINS = [("admin", environ.get("ADMIN", ""))]
DEFAULT_EXCEPTION_REPORTER = "config.utils.log.CustomExceptionReporter"
LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "handlers": {
        "mail_admins": {
            "level": "ERROR",
            "class": "config.utils.log.CustomAdminEmailHandler",
            "include_html": False,
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
        'django.security': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
    }
}

REST_FRAMEWORK = {
    "DEFAULT_PERMISSION_CLASSES": [
        "rest_framework_api_key.permissions.HasAPIKey",
    ],
    'DEFAULT_THROTTLE_CLASSES': [
        'config.utils.throttles.NoApiKeyAnonRateThrottle',
    ],
    'DEFAULT_THROTTLE_RATES': {
        'noapikey': '10/hour',
    },
    'EXCEPTION_HANDLER': 'config.utils.log.custom_exception_handler'
}

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = environ.get("EMAIL_HOST", "")
EMAIL_PORT = environ.get("EMAIL_PORT", "")
SERVER_EMAIL = environ.get("SERVER_EMAIL", "taskbar.manager@example.com")
EMAIL_USE_TLS = False