| Package | Name | Version |
|---|---|---|
| Django | 5.2 | |
| Python | 3.13.9 | |
| allauth | Allauth | 65.7.0.final.0 |
| crispy_bootstrap5 | Crispy_Bootstrap5 | 2025.4 |
| crispy_forms | Crispy_Forms | 2.4 |
| dbbackup | Backup and restore | 4.2 |
| debug_toolbar | Debug Toolbar | 5.2.0 |
| django_admin_env_notice | Django_Admin_Env_Notice | 1.0.1 |
| django_extensions | Django Extensions | 5.2 |
| django_filters | Django_Filters | 25.1 |
| django_q | Recovery Metrics Queue | 1.8.0 |
| django_ses | Django SES | 4.4.0 |
| drf_spectacular | drf-spectacular | 0.28.0 |
| import_export | Import_Export | 4.3.7 |
| oauth2_provider | Django OAuth Toolkit | 3.0.1 |
| phonenumber_field | Phonenumber_Field | 8.1.0 |
| rest_framework | Django REST framework | 3.16.0 |
| Resource | Value |
|---|---|
| User CPU time | 7.433 msec |
| System CPU time | 0.000 msec |
| Total CPU time | 7.433 msec |
| Elapsed time | 7.444 msec |
| Context switches | 0 voluntary, 1 involuntary |
| Timing attribute | Timeline | Milliseconds since navigation start (+length) |
|---|
| Setting | Value |
|---|---|
| ABSOLUTE_URL_OVERRIDES | {} |
| ACCOUNT_ADAPTER | 'accounts.adapters.CustomAccountAdapter' |
| ACCOUNT_CONFIRM_EMAIL_ON_GET | True |
| ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL | '********************' |
| ACCOUNT_EMAIL_VERIFICATION | 'optional' |
| ACCOUNT_LOGIN_METHODS | {'email'} |
| ACCOUNT_LOGOUT_REDIRECT_URL | 'home' |
| ACCOUNT_SESSION_REMEMBER | True |
| ACCOUNT_SIGNUP_FIELDS | ['email*', 'password1*'] |
| ACCOUNT_UNIQUE_EMAIL | True |
| ACCOUNT_USER_MODEL_USERNAME_FIELD | None |
| ADMINS | [] |
| ADMIN_EMAILS | ['ben@recoverymetrics.com.au', 'kiera@recoverymetrics.com.au'] |
| ALLOWED_HOSTS | ['172.22.251.200',
'127.0.0.1',
'app.recoverymetrics.com.au',
'dev.recoverymetrics.com.au'] |
| APPEND_SLASH | True |
| AUTHENTICATION_BACKENDS | '********************' |
| AUTH_PASSWORD_VALIDATORS | '********************' |
| AUTH_USER_MODEL | '********************' |
| AWS_ACCESS_KEY_ID | '********************' |
| AWS_SECRET_ACCESS_KEY | '********************' |
| AWS_SES_REGION_NAME | 'ap-southeast-2' |
| BASE_DIR | PosixPath('/home/ubuntu/RM_DRF_Project') |
| CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://127.0.0.1:6379/1',
'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}} |
| CACHE_MIDDLEWARE_ALIAS | 'default' |
| CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
| CACHE_MIDDLEWARE_SECONDS | 600 |
| CRISPY_ALLOWED_TEMPLATE_PACKS | 'bootstrap5' |
| CRISPY_TEMPLATE_PACK | 'bootstrap5' |
| CSRF_COOKIE_AGE | 31449600 |
| CSRF_COOKIE_DOMAIN | None |
| CSRF_COOKIE_HTTPONLY | False |
| CSRF_COOKIE_NAME | 'csrftoken' |
| CSRF_COOKIE_PATH | '/' |
| CSRF_COOKIE_SAMESITE | 'Lax' |
| CSRF_COOKIE_SECURE | False |
| CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
| CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
| CSRF_TRUSTED_ORIGINS | [] |
| CSRF_USE_SESSIONS | False |
| DATABASES | {'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_HEALTH_CHECKS': False,
'CONN_MAX_AGE': 600,
'DISABLE_SERVER_SIDE_CURSORS': False,
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'localhost',
'NAME': 'rm',
'OPTIONS': {'connect_timeout': 10,
'options': '-c statement_timeout=30000'},
'PASSWORD': '********************',
'PORT': 5432,
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIGRATE': True,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'rm'}} |
| DATABASE_ROUTERS | [] |
| DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
| DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
| DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
| DATETIME_FORMAT | 'N j, Y, P' |
| DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M'] |
| DATE_FORMAT | 'N j, Y' |
| DATE_INPUT_FORMATS | ['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y'] |
| DBBACKUP_COMPRESS | True |
| DBBACKUP_GPG_RECIPIENT | None |
| DBBACKUP_POSTGRESQL_RESTORE_COMMAND | ('pg_restore --dbname={dbname} --single-transaction --if-exists --no-owner '
'--no-privileges') |
| DBBACKUP_STORAGE | 'django.core.files.storage.FileSystemStorage' |
| DBBACKUP_STORAGE_OPTIONS | {'location': PosixPath('/home/ubuntu/RM_DRF_Project/backups')} |
| DEBUG | True |
| DEBUG_PROPAGATE_EXCEPTIONS | False |
| DEBUG_TOOLBAR_CONFIG | {'SHOW_TOOLBAR_CALLBACK': <function <lambda> at 0x76405f1caf20>} |
| DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.redirects.RedirectsPanel'] |
| DECIMAL_SEPARATOR | '.' |
| DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
| DEFAULT_CHARSET | 'utf-8' |
| DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
| DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
| DEFAULT_FROM_EMAIL | 'info@recoverymetrics.com.au' |
| DEFAULT_INDEX_TABLESPACE | '' |
| DEFAULT_TABLESPACE | '' |
| DISALLOWED_USER_AGENTS | [] |
| EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
| EMAIL_HOST | 'localhost' |
| EMAIL_HOST_PASSWORD | '********************' |
| EMAIL_HOST_USER | '' |
| EMAIL_PORT | 25 |
| EMAIL_SSL_CERTFILE | None |
| EMAIL_SSL_KEYFILE | '********************' |
| EMAIL_SUBJECT_PREFIX | '[Django] ' |
| EMAIL_TIMEOUT | None |
| EMAIL_USE_LOCALTIME | False |
| EMAIL_USE_SSL | False |
| EMAIL_USE_TLS | False |
| ENVIRONMENT_COLOR | '#139A43' |
| ENVIRONMENT_NAME | 'AWS_DEVELOPMENT' |
| FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
| FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
| FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
| FILE_UPLOAD_PERMISSIONS | 420 |
| FILE_UPLOAD_TEMP_DIR | None |
| FIRST_DAY_OF_WEEK | 0 |
| FIXTURE_DIRS | [] |
| FORCE_SCRIPT_NAME | None |
| FORMAT_MODULE_PATH | None |
| FORMS_URLFIELD_ASSUME_HTTPS | False |
| FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
| IGNORABLE_404_URLS | [] |
| INSTALLED_APPS | ['django_admin_env_notice',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'whitenoise.runserver_nostatic',
'django.contrib.staticfiles',
'django.contrib.sites',
'allauth',
'allauth.account',
'crispy_forms',
'crispy_bootstrap5',
'rest_framework',
'django_extensions',
'django_filters',
'phonenumber_field',
'django_q',
'drf_spectacular',
'corsheaders',
'django_ses',
'dbbackup',
'import_export',
'oauth2_provider',
'accounts',
'pages',
'rmbase',
'notifications',
'crms.interface',
'crms.nookal',
'crms.cliniko',
'crms.splose',
'otp',
'auditor.apps.AuditorConfig',
'model_design',
'rmcore',
'debug_toolbar'] |
| INTERNAL_IPS | ['127.0.0.1', '192.168.2.23'] |
| LANGUAGES | [('af', 'Afrikaans'),
('ar', 'Arabic'),
('ar-dz', 'Algerian Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('ckb', 'Central Kurdish (Sorani)'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('dsb', 'Lower Sorbian'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gd', 'Scottish Gaelic'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hsb', 'Upper Sorbian'),
('hu', 'Hungarian'),
('hy', 'Armenian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('ig', 'Igbo'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kab', 'Kabyle'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('ky', 'Kyrgyz'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('ms', 'Malay'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmål'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('tg', 'Tajik'),
('th', 'Thai'),
('tk', 'Turkmen'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('ug', 'Uyghur'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('uz', 'Uzbek'),
('vi', 'Vietnamese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese')] |
| LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur'] |
| LANGUAGE_CODE | 'en-au' |
| LANGUAGE_COOKIE_AGE | None |
| LANGUAGE_COOKIE_DOMAIN | None |
| LANGUAGE_COOKIE_HTTPONLY | False |
| LANGUAGE_COOKIE_NAME | 'django_language' |
| LANGUAGE_COOKIE_PATH | '/' |
| LANGUAGE_COOKIE_SAMESITE | None |
| LANGUAGE_COOKIE_SECURE | False |
| LOCALE_PATHS | [PosixPath('/home/ubuntu/RM_DRF_Project/locale')] |
| LOCAL_DBBACKUP_STORAGE | 'django.core.files.storage.FileSystemStorage' |
| LOCAL_DBBACKUP_STORAGE_OPTIONS | {'location': PosixPath('/home/ubuntu/RM_DRF_Project/backups')} |
| LOGGING | {'disable_existing_loggers': False,
'formatters': {'console': {'format': '{levelname:8s} | {name:15s} | {message}',
'style': '{'},
'detailed': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '{asctime} | {levelname:8s} | '
'{name:20s} | {module:15s} | '
'{funcName:20s} | {lineno:4d} | '
'{message}',
'style': '{'},
'simple': {'format': '{levelname:8s} | {message}',
'style': '{'},
'standard': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '{asctime} | {levelname:8s} | '
'{name:20s} | {message}',
'style': '{'}},
'handlers': {'accounts_errors': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/accounts/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 5242880},
'accounts_general': {'backupCount': 3,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/accounts/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 2097152},
'auditor_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/auditor/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'aws_ses': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/notifications/aws_ses.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 5242880},
'console': {'class': 'logging.StreamHandler',
'formatter': 'console',
'level': 'INFO'},
'console_debug': {'class': 'logging.StreamHandler',
'formatter': 'detailed',
'level': 'DEBUG'},
'crms_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/crms/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 10485760},
'crms_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/crms/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'crms_sync': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/crms/sync.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 10485760},
'django_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/django/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 10485760},
'django_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/django/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'django_security': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/django/security.log',
'formatter': 'detailed',
'level': 'INFO',
'maxBytes': 5242880},
'notifications_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/notifications/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 10485760},
'notifications_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/notifications/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'notifications_senders': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/notifications/senders.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 5242880},
'rmbase_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmbase/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 10485760},
'rmbase_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmbase/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'rmbase_sessions': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmbase/sessions.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 5242880},
'rmbase_treatments': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmbase/treatments.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 5242880},
'rmcore_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmcore/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 10485760},
'rmcore_general': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmcore/general.log',
'formatter': 'standard',
'level': 'INFO',
'maxBytes': 5242880},
'rmcore_models': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/rmcore/models.log',
'formatter': 'detailed',
'level': 'DEBUG',
'maxBytes': 5242880},
'system_errors': {'backupCount': 10,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/system/errors.log',
'formatter': 'detailed',
'level': 'ERROR',
'maxBytes': 20971520},
'system_performance': {'backupCount': 5,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/home/ubuntu/RM_DRF_Project/logs/system/performance.log',
'formatter': 'detailed',
'level': 'INFO',
'maxBytes': 10485760}},
'loggers': {'': {'handlers': ['console', 'system_errors'],
'level': 'INFO',
'propagate': False},
'accounts': {'handlers': ['console',
'accounts_general',
'accounts_errors'],
'level': 'DEBUG',
'propagate': False},
'auditor': {'handlers': ['console', 'auditor_general'],
'level': 'DEBUG',
'propagate': False},
'boto3': {'handlers': ['aws_ses'],
'level': 'WARNING',
'propagate': False},
'botocore': {'handlers': ['aws_ses'],
'level': 'WARNING',
'propagate': False},
'crms': {'handlers': ['console', 'crms_general', 'crms_errors'],
'level': 'DEBUG',
'propagate': False},
'crms.cliniko': {'handlers': ['console',
'crms_sync',
'crms_errors'],
'level': 'DEBUG',
'propagate': False},
'crms.interface': {'handlers': ['console',
'crms_general',
'crms_errors'],
'level': 'DEBUG',
'propagate': False},
'crms.nookal': {'handlers': ['console',
'crms_sync',
'crms_errors'],
'level': 'DEBUG',
'propagate': False},
'django': {'handlers': ['console',
'django_general',
'django_errors'],
'level': 'WARNING',
'propagate': False},
'django.db.backends': {'handlers': ['django_general'],
'level': 'DEBUG',
'propagate': False},
'django.request': {'handlers': ['django_errors', 'system_errors'],
'level': 'ERROR',
'propagate': False},
'django.security': {'handlers': ['console',
'django_security',
'django_errors'],
'level': 'INFO',
'propagate': False},
'django_ses': {'handlers': ['console', 'aws_ses'],
'level': 'DEBUG',
'propagate': False},
'notifications': {'handlers': ['console',
'notifications_general',
'notifications_errors'],
'level': 'DEBUG',
'propagate': False},
'notifications.builders': {'handlers': ['console',
'notifications_general',
'notifications_errors'],
'level': 'DEBUG',
'propagate': False},
'notifications.senders': {'handlers': ['console',
'notifications_senders',
'notifications_errors'],
'level': 'DEBUG',
'propagate': False},
'notifications.tasks': {'handlers': ['console',
'notifications_general',
'notifications_errors'],
'level': 'DEBUG',
'propagate': False},
'performance': {'handlers': ['system_performance'],
'level': 'INFO',
'propagate': False},
'rmbase': {'handlers': ['console',
'rmbase_general',
'rmbase_errors'],
'level': 'DEBUG',
'propagate': False},
'rmbase.models.models_treatments': {'handlers': ['console',
'rmbase_treatments',
'rmbase_errors'],
'level': 'DEBUG',
'propagate': False},
'rmbase.services.appointment_session_service': {'handlers': ['console',
'rmbase_sessions',
'rmbase_errors'],
'level': 'DEBUG',
'propagate': False},
'rmcore': {'handlers': ['console',
'rmcore_general',
'rmcore_errors'],
'level': 'DEBUG',
'propagate': False},
'rmcore.models': {'handlers': ['console',
'rmcore_models',
'rmcore_errors'],
'level': 'DEBUG',
'propagate': False}},
'version': 1} |
| LOGGING_CONFIG | 'logging.config.dictConfig' |
| LOGIN_REDIRECT_URL | 'frontend:dashboard' |
| LOGIN_URL | '/accounts/login/' |
| LOGOUT_REDIRECT_URL | None |
| MANAGERS | [] |
| MEDIA_ROOT | '' |
| MEDIA_URL | '/' |
| MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
| MIDDLEWARE | ['debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.security.SecurityMiddleware',
'corsheaders.middleware.CorsMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'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',
'allauth.account.middleware.AccountMiddleware'] |
| MIGRATION_MODULES | {} |
| MONTH_DAY_FORMAT | 'F j' |
| NOTIFICATIONS_EMAIL_SENDER | 'noreply@example.com' |
| NUMBER_GROUPING | 0 |
| OAUTH2_PROVIDER | '********************' |
| OIDC_ENABLED | False |
| OIDC_RSA_PRIVATE_KEY | '********************' |
| PASSWORD_HASHERS | '********************' |
| PASSWORD_RESET_TIMEOUT | '********************' |
| PREPEND_WWW | False |
| Q_CLUSTER | {'ack_failures': True,
'bulk': 1,
'catch_up': False,
'label': 'Recovery Metrics Queue',
'max_attempts': 1,
'name': 'rmq',
'orm': 'default',
'queue_limit': 2,
'recycle': 300,
'retry': 300,
'save_limit': 1000,
'save_limit_per': 'func',
'timeout': 180,
'workers': 2} |
| REST_FRAMEWORK | {'ALLOWED_VERSIONS': ['v1', 'v2'],
'DATETIME_FORMAT': '%Y-%m-%dT%H:%M:%SZ',
'DATETIME_INPUT_FORMATS': ['%Y-%m-%dT%H:%M:%SZ',
'%Y-%m-%dT%H:%M:%S.%fZ',
'%Y-%m-%d %H:%M:%S',
'%Y-%m-%dT%H:%M:%S.%f'],
'DEFAULT_AUTHENTICATION_CLASSES': '********************',
'DEFAULT_FILTER_BACKENDS': ['rest_framework_datatables.filters.DatatablesFilterBackend',
'django_filters.rest_framework.DjangoFilterBackend',
'rest_framework.filters.OrderingFilter'],
'DEFAULT_PAGINATION_CLASS': 'rest_framework_datatables.pagination.DatatablesOnlyPageNumberPagination',
'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'],
'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
'rest_framework_datatables.renderers.DatatablesRenderer'),
'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
'DEFAULT_VERSION': 'v1',
'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.URLPathVersioning',
'PAGE_SIZE': 50,
'VERSION_PARAM': 'version'} |
| ROOT_URLCONF | 'rmproject.urls' |
| SECRET_KEY | '********************' |
| SECRET_KEY_FALLBACKS | '********************' |
| SECURE_CONTENT_TYPE_NOSNIFF | True |
| SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
| SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
| SECURE_HSTS_PRELOAD | False |
| SECURE_HSTS_SECONDS | 0 |
| SECURE_PROXY_SSL_HEADER | None |
| SECURE_REDIRECT_EXEMPT | [] |
| SECURE_REFERRER_POLICY | 'same-origin' |
| SECURE_SSL_HOST | None |
| SECURE_SSL_REDIRECT | False |
| SERVER_EMAIL | 'root@localhost' |
| SESSION_CACHE_ALIAS | 'default' |
| SESSION_COOKIE_AGE | 18000 |
| SESSION_COOKIE_DOMAIN | None |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'sessionid' |
| SESSION_COOKIE_PATH | '/' |
| SESSION_COOKIE_SAMESITE | 'Lax' |
| SESSION_COOKIE_SECURE | False |
| SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
| SESSION_EXPIRE_AT_BROWSER_CLOSE | True |
| SESSION_FILE_PATH | None |
| SESSION_SAVE_EVERY_REQUEST | True |
| SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
| SETTINGS_MODULE | 'dev' |
| SHORT_DATETIME_FORMAT | 'm/d/Y P' |
| SHORT_DATE_FORMAT | 'm/d/Y' |
| SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
| SILENCED_SYSTEM_CHECKS | [] |
| SIMPLE_JWT | {'ACCESS_TOKEN_LIFETIME': '********************',
'REFRESH_TOKEN_LIFETIME': '********************'} |
| SITE_ID | 1 |
| SPECTACULAR_SETTINGS | {'DESCRIPTION': 'Recovery Metrics API documentation',
'TITLE': 'Recovery Metrics API',
'VERSION': '1.0.0'} |
| STATICFILES_DIRS | [PosixPath('/home/ubuntu/RM_DRF_Project/rmproject/static')] |
| STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
| STATIC_ROOT | '/var/www/RM_DRF_Project/static/' |
| STATIC_URL | '/static/' |
| STATIC_VERSION | '1.0.46' |
| STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
| TEMPLATES | [{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [PosixPath('/home/ubuntu/RM_DRF_Project/templates')],
'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',
'django_admin_env_notice.context_processors.from_settings',
'rmproject.context_processors.static_version']}},
{'APP_DIRS': True,
'BACKEND': 'post_office.template.backends.post_office.PostOfficeTemplates',
'DIRS': [PosixPath('/home/ubuntu/RM_DRF_Project/templates')],
'NAME': 'post_office',
'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']}}] |
| TEST | True |
| TEST_NON_SERIALIZED_APPS | [] |
| TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
| TEST_USER_EMAIL | 'ben@recoverymetrics.com.au' |
| TEST_USER_PHONE | '+61415051025' |
| THOUSAND_SEPARATOR | ',' |
| TIME_FORMAT | 'P' |
| TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
| TIME_ZONE | 'UTC' |
| USE_I18N | True |
| USE_L10N | True |
| USE_THOUSAND_SEPARATOR | False |
| USE_TZ | True |
| USE_X_FORWARDED_HOST | False |
| USE_X_FORWARDED_PORT | False |
| VALID_SETTINGS | {'prod', 'test', 'dev'} |
| WSGI_APPLICATION | 'rmproject.wsgi.application' |
| X_FRAME_OPTIONS | 'DENY' |
| YEAR_MONTH_FORMAT | 'F Y' |
| Key | Value |
|---|---|
| Accept | */* |
| Accept-Encoding | gzip, br, zstd, deflate |
| Connection | close |
| Host | dev.recoverymetrics.com.au |
| Referer | https://dev.recoverymetrics.com.au/accounts/login |
| User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| X-Forwarded-For | 216.73.216.157 |
| X-Forwarded-Proto | https |
| X-Real-Ip | 216.73.216.157 |
| Key | Value |
|---|---|
| Cache-Control | max-age=0, no-cache, no-store, must-revalidate, private |
| Content-Length | 5771 |
| Content-Type | text/html; charset=utf-8 |
| Cross-Origin-Opener-Policy | same-origin |
| Expires | Tue, 06 Jan 2026 22:20:27 GMT |
| Referrer-Policy | same-origin |
| Vary | Cookie, origin |
| X-Content-Type-Options | nosniff |
| X-Frame-Options | DENY |
Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.
| Key | Value |
|---|---|
| PATH_INFO | /accounts/login/ |
| QUERY_STRING | |
| REMOTE_ADDR | 127.0.0.1 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | 127.0.0.1 |
| SERVER_PORT | 8000 |
| SERVER_PROTOCOL | HTTP/1.0 |
| SERVER_SOFTWARE | gunicorn/23.0.0 |
| View function | Arguments | Keyword arguments | URL name |
|---|---|---|---|
allauth.account.views.LoginView |
() |
{} |
account_login |
No SQL queries were recorded during this request.
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'ENVIRONMENT_ADMIN_SELECTOR': 'body',
'ENVIRONMENT_COLOR': '#139A43',
'ENVIRONMENT_FLOAT': False,
'ENVIRONMENT_NAME': 'AWS_DEVELOPMENT',
'ENVIRONMENT_TEXT_COLOR': 'white',
'STATIC_VERSION': '1.0.46',
'csrf_token': '<SimpleLazyObject: '
"'KfCDpJ6NjH3mksys7SbnYMh1Wus3xcEsgdy8Ocy2J6se4zaE0e12JR4hIIzlOhuw'>",
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/login/'>>,
'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>),
'request': '<<request>>',
'show_notice': True,
'sql_queries': <function debug.<locals>.<lambda> at 0x76404d11ee80>,
'user': '<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object '
'at 0x76404d339fd0>>'}
{'LOGIN_BY_CODE_ENABLED': False,
'PASSKEY_LOGIN_ENABLED': False,
'SOCIALACCOUNT_ENABLED': False,
'SOCIALACCOUNT_ONLY': False,
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'redirect_field': '',
'redirect_field_name': 'next',
'redirect_field_value': None,
'signup_url': '/accounts/signup/',
'site': <Site: example.com>,
'view': <allauth.account.views.LoginView object at 0x76404d559590>}
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'ENVIRONMENT_ADMIN_SELECTOR': 'body',
'ENVIRONMENT_COLOR': '#139A43',
'ENVIRONMENT_FLOAT': False,
'ENVIRONMENT_NAME': 'AWS_DEVELOPMENT',
'ENVIRONMENT_TEXT_COLOR': 'white',
'STATIC_VERSION': '1.0.46',
'csrf_token': '<SimpleLazyObject: '
"'KfCDpJ6NjH3mksys7SbnYMh1Wus3xcEsgdy8Ocy2J6se4zaE0e12JR4hIIzlOhuw'>",
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/login/'>>,
'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>),
'request': '<<request>>',
'show_notice': True,
'sql_queries': <function debug.<locals>.<lambda> at 0x76404d11ee80>,
'user': '<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object '
'at 0x76404d339fd0>>'}
{'LOGIN_BY_CODE_ENABLED': False,
'PASSKEY_LOGIN_ENABLED': False,
'SOCIALACCOUNT_ENABLED': False,
'SOCIALACCOUNT_ONLY': False,
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'redirect_field': '',
'redirect_field_name': 'next',
'redirect_field_value': None,
'signup_url': '/accounts/signup/',
'site': <Site: example.com>,
'view': <allauth.account.views.LoginView object at 0x76404d559590>}
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'ENVIRONMENT_ADMIN_SELECTOR': 'body',
'ENVIRONMENT_COLOR': '#139A43',
'ENVIRONMENT_FLOAT': False,
'ENVIRONMENT_NAME': 'AWS_DEVELOPMENT',
'ENVIRONMENT_TEXT_COLOR': 'white',
'STATIC_VERSION': '1.0.46',
'csrf_token': '<SimpleLazyObject: '
"'KfCDpJ6NjH3mksys7SbnYMh1Wus3xcEsgdy8Ocy2J6se4zaE0e12JR4hIIzlOhuw'>",
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/login/'>>,
'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>),
'request': '<<request>>',
'show_notice': True,
'sql_queries': <function debug.<locals>.<lambda> at 0x76404d11ee80>,
'user': '<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object '
'at 0x76404d339fd0>>'}
{'LOGIN_BY_CODE_ENABLED': False,
'PASSKEY_LOGIN_ENABLED': False,
'SOCIALACCOUNT_ENABLED': False,
'SOCIALACCOUNT_ONLY': False,
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'redirect_field': '',
'redirect_field_name': 'next',
'redirect_field_value': None,
'signup_url': '/accounts/signup/',
'site': <Site: example.com>,
'view': <allauth.account.views.LoginView object at 0x76404d559590>}
{'block': <Block Node: sidebar. Contents: [<TextNode: ' '>, <IncludeNode: template=<FilterExpression "'sidebar.html'">>, <TextNode: ' '>]>}
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'ENVIRONMENT_ADMIN_SELECTOR': 'body',
'ENVIRONMENT_COLOR': '#139A43',
'ENVIRONMENT_FLOAT': False,
'ENVIRONMENT_NAME': 'AWS_DEVELOPMENT',
'ENVIRONMENT_TEXT_COLOR': 'white',
'STATIC_VERSION': '1.0.46',
'csrf_token': '<SimpleLazyObject: '
"'KfCDpJ6NjH3mksys7SbnYMh1Wus3xcEsgdy8Ocy2J6se4zaE0e12JR4hIIzlOhuw'>",
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/login/'>>,
'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>),
'request': '<<request>>',
'show_notice': True,
'sql_queries': <function debug.<locals>.<lambda> at 0x76404d11ee80>,
'user': '<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object '
'at 0x76404d339fd0>>'}
{'LOGIN_BY_CODE_ENABLED': False,
'PASSKEY_LOGIN_ENABLED': False,
'SOCIALACCOUNT_ENABLED': False,
'SOCIALACCOUNT_ONLY': False,
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'redirect_field': '',
'redirect_field_name': 'next',
'redirect_field_value': None,
'signup_url': '/accounts/signup/',
'site': <Site: example.com>,
'view': <allauth.account.views.LoginView object at 0x76404d559590>}
{'block': <Block Node: nav. Contents: [<TextNode: ' \n '>, <IncludeNode: template=<FilterExpression "'navbar.html'">>, <TextNode: ' \n '>]>}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'False': False, 'None': None, 'True': True}
{'field_class': '',
'field_template': 'bootstrap5/field.html',
'form': <LoginForm bound=False, valid=False, fields=(login;password)>,
'form_show_errors': True,
'form_show_labels': True,
'label_class': ''}
{'field': <django.forms.boundfield.BoundField object at 0x76404d2239b0>,
'forloop': {'counter': 2,
'counter0': 1,
'first': False,
'last': True,
'parentloop': {},
'revcounter': 1,
'revcounter0': 0}}
{'csrf_token': <SimpleLazyObject: 'KfCDpJ6NjH3mksys7SbnYMh1Wus3xcEsgdy8Ocy2J6se4zaE0e12JR4hIIzlOhuw'>}
{'debug': True, 'sql_queries': <function debug.<locals>.<lambda> at 0x76404d11ee80>}
{'request': <WSGIRequest: GET '/accounts/login/'>}
{'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76404d339fd0>>)}
{'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/login/'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
{'ENVIRONMENT_NAME': 'AWS_DEVELOPMENT', 'ENVIRONMENT_COLOR': '#139A43', 'ENVIRONMENT_TEXT_COLOR': 'white', 'ENVIRONMENT_ADMIN_SELECTOR': 'body', 'ENVIRONMENT_FLOAT': False, 'show_notice': True}
{'STATIC_VERSION': '1.0.46'}
| Total calls | Total time | Cache hits | Cache misses |
|---|---|---|---|
| 0 | 0 ms | 0 | 0 |
| add | get | set | get_or_set | touch | delete | clear | get_many | set_many | delete_many | has_key | incr | decr | incr_version | decr_version |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Signal | Receivers |
|---|---|
| class_prepared | |
| connection_created | |
| got_request_exception | |
| m2m_changed | |
| post_delete | |
| post_init | |
| post_migrate | create_permissions, create_contenttypes, create_default_site |
| post_save | call_hook, assign_user_to_group |
| pre_delete | clear_site_cache |
| pre_init | |
| pre_migrate | inject_rename_contenttypes_operations |
| pre_save | clear_site_cache |
| request_finished | close_old_connections, close_caches, reset_urlconf |
| request_started | reset_queries, close_old_connections |
| setting_changed | reset_cache, Settings.change_setting, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, form_renderer_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, Options.setting_changed, reload_oauth2_settings, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, update_level_tags, clear_caches, reload_api_settings, reload_api_settings, StaticFilesStorage._clear_cached_properties |