WHAT ARE AFRICAN CONTRIBUTIONS TO GLOBAL HEALTH?

1.5

What is global health?

Global health is a field of many different vested interests. Sometimes the parties involved combine their efforts to achieve a common objective. Sometimes these parties put their own objectives above the common good and come into conflict with one another. But what exactly is global health?

During the Covid-19 pandemic, the benefits and challenges of a global health approach became very visible. On the one hand, we all witnessed medical and technological progress: The vaccines were developed incredibly fast. And in order to ensure that the vaccines are equally distributed, the World Health Organization initiated the COVAX scheme. On the other hand, the pandemic showed the limits of global health. We witnessed unsuccessful surveillance and communication; we saw how important supply chains broke down. The way in which high-income countries bought vaccines risked ruining the global COVAX vaccine distribution plan.

Are the limits of global health just the effect of a world overwhelmed by a global crisis? Apparently not. According to the Director-General of the World Health Organization, Tedros Adhanom Ghebreyesus, the problems in global health predated the Covid-19 pandemic. In a speech before the general assembly in January 2021, he remembered the HIV pandemic in the 1980s and the H1N1 pandemic in 2009. He pointed out that in both pandemics, the world’s poor did not get access to life-saving medicines and vaccines for an incredibly long time. He emphasised that we should avoid the mistakes made during both pandemics. In order to do so, we need to understand that the problem persists.

Watch how Tanja Hammel discusses the definitions, scope, and emergence of global health in this video. Then listen to the audio of the speech of the Director-General of the World Health Organization. Do you think it is possible to ensure that we do not repeat the mistakes of past pandemics? How do we do that?


References

Abdalla SM, Solomon H, Trinquart L, et al. What is considered as global health scholarship? A meta-knowledge analysis of global health journals and definitions. BMJ Global Health [Internet]. 2020 [cited 7 December 2021]; 5 (10). Available from: https://gh.bmj.com/content/bmjgh/5/10/e002884.full.pdf

Related link

WHO Director-General’s Opening Remarks at 148th Session of the Executive Board 2021 (Audio)

Downloads

DJDT

Versionen

Paket Name Version
Django 5.2.3
Python 3.12.12
allauth Allauth 65.9.0.final.0
cachalot Cachalot 2.8.0
crispy_bootstrap5 Crispy_Bootstrap5 2025.4
crispy_forms Crispy_Forms 2.4
debug_toolbar Debug Toolbar 5.2.0
django_extensions Django Extensions 3.2.3
django_filters Django_Filters 25.1
django_q Django Q 1.8.0
imagekit Imagekit 5.0.0
impersonate Impersonate 1.9.5
markdownx Markdownx 4.0.9
mozilla_django_oidc Mozilla_Django_Oidc 4.0.1
notifications Notifications 1.8.3
rosetta Rosetta 0.10.2
rules Rules 3.5.0.final.1
simple_history Simple_History 3.8.0
tos Terms Of Service 1.1.0
waffle django-waffle 4.2.0

Zeit

Ressourcenverwendung

Ressource Wert
CPU-Zeit Benutzer 293.757 ms
CPU-Zeit System 16.044 ms
CPU-Zeit gesamt 309.801 ms
Verstrichene Zeit 984.378 ms
Kontextwechsel 63 freiwillig, 23 unfreiwillig

Browserzeit

Timing-Attribut Verlauf Millisekunden seit Seitenaufruf (plus Dauer)

Einstellungen von config.settings.staging

Einstellung Wert
ABSOLUTE_URL_OVERRIDES {}
ACCOUNT_ADAPTER 'lms_base.adapter.AccountAdapter'
ADMINS (('admin', 'notifications-nmc@unibas.ch'),)
ADMIN_URL 'admin/'
ALLOWED_HOSTS ['*']
APPEND_SLASH True
AUTHENTICATION_BACKENDS '********************'
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL '********************'
BASE_DIR '/app/project/config/../'
CACHALOT_ENABLED True
CACHES {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CI_COMMIT_SHORT_SHA 'c401eb2c'
CI_COMMIT_TAG '2.6.23'
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 None
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': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'tales-postgres', 'NAME': 'tptt', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'tales_db_user'}}
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']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x788312fd3420>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', '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.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.AutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FROM_EMAIL 'contact-nmc@unibas.ch'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DEPLOY_ENV 'staging'
DISALLOWED_USER_AGENTS []
DJANGO_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize')
DJANGO_NOTIFICATIONS_CONFIG {'USE_JSONFIELD': True}
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'smtp.unibas.ch'
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
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.TemplatesSetting'
IGNORABLE_404_URLS []
IMAGEKIT_CACHEFILE_DIR 'CACHE/images'
IMAGEKIT_CACHEFILE_NAMER 'imagekit.cachefiles.namers.hash'
IMAGEKIT_CACHE_BACKEND 'default'
IMAGEKIT_CACHE_PREFIX 'imagekit:'
IMAGEKIT_CACHE_TIMEOUT 300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND 'imagekit.cachefiles.backends.Simple'
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY 'imagekit.cachefiles.strategies.JustInTime'
IMAGEKIT_DEFAULT_FILE_STORAGE 'default'
IMAGEKIT_SPEC_CACHEFILE_NAMER 'imagekit.cachefiles.namers.source_name_as_path'
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY '********************'
INSTALLED_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'django_filters', 'users.apps.UsersConfig', 'lms_base.apps.LmsBaseConfig', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'lms_ai.apps.LMSAiConfig', 'lms_assignment.apps.LMSAssignmentConfig', 'debug_toolbar')
INTERNAL_IPS ['127.0.0.1']
LANGUAGES (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch'))
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE 'de'
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
LANGUAGE_PUBLICATION_ENABLED True
LINKCHECKER_CHECK_EXTERN True
LINKCHECKER_IGNORE_PATTERNS ['.*/admin/.*', '.*/oidc/authenticate/\\?next=.*', '.*\\.(jpe?g|png|gif|svg|webp|ico|pdf|mp4|avi|mov|css|js|json|xml|txt)$', '.*/logout/.*', '.*/login/.*', '.*/#.*']
LINKCHECKER_MAX_RETRIES 3
LINKCHECKER_NO_FOLLOW_PATTERNS ['^https?://(?!nmc-tales-staging\\.nmc\\.unibas\\.ch/).*']
LINKCHECKER_RECURSION_LEVEL 5
LINKCHECKER_RETRY_DELAY 30
LINKCHECKER_TIMEOUT 10
LINKCHECKER_URL 'https://nmc-tales-staging.nmc.unibas.ch/'
LINKCHECKER_USER_AGENT 'Tales-LinkChecker/1.0'
LOCALE_PATHS ['/app/project/config/../locale']
LOCAL_APPS ('users.apps.UsersConfig', 'lms_base.apps.LmsBaseConfig', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'lms_ai.apps.LMSAiConfig', 'lms_assignment.apps.LMSAssignmentConfig')
LOGGING {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'lms_ai': {'handlers': ['console'], 'level': 'DEBUG'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/'
LOGIN_URL 'account_login'
LOGOUT_REDIRECT_URL '/'
MANAGERS []
MARKDOWNX_EDITOR_RESIZABLE True
MARKDOWNX_IMAGE_MAX_SIZE {'quality': 90, 'size': (1920, 5600)}
MARKDOWNX_MARKDOWNIFY_FUNCTION 'lms_base.utils.markdownify'
MARKDOWNX_MARKDOWN_EXTENSIONS ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension']
MARKDOWNX_MEDIA_PATH 'markdownx/'
MARKDOWNX_UPLOAD_URLS_PATH '/markdownx/upload/'
MARKDOWNX_URLS_PATH '/markdownx/markdownify/'
MEDIA_ROOT '/app/project/media'
MEDIA_URL '/media/'
MESSAGE_REAPPEAR_TIME 600
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
MIGRATION_MODULES {'tos': 'lms_tales.migrate.tos'}
MODELTRANSLATION_CUSTOM_FIELDS ('JSONField',)
MODELTRANSLATION_DEFAULT_LANGUAGE 'de'
MODELTRANSLATION_FALLBACK_LANGUAGES ('de', 'en', 'fr')
MONTH_DAY_FORMAT 'F j'
NOTIFICATIONS_NOTIFICATION_MODEL 'lms_notifications.Notification'
NUMBER_GROUPING 0
OIDC_OP_AUTHORIZATION_ENDPOINT '********************'
OIDC_OP_JWKS_ENDPOINT 'https://login.eduid.ch/idp/profile/oidc/keyset'
OIDC_OP_TOKEN_ENDPOINT '********************'
OIDC_OP_USER_ENDPOINT 'https://login.eduid.ch/idp/profile/oidc/userinfo'
OIDC_RP_CLIENT_ID 'unibas-tales-staging'
OIDC_RP_CLIENT_SECRET '********************'
OIDC_RP_SCOPES 'openid email profile https://login.eduid.ch/authz/User.Read'
OIDC_RP_SIGN_ALGO 'RS256'
OIDC_TOKEN_USE_BASIC_AUTH '********************'
OPENAI_API_KEY '********************'
OPENAI_BASE_URL 'http://nmc-macmini1.nmc.unibas.ch/api/v1'
OPENAI_MODEL 'granite4:small-h'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
PROJECT_DIR '/app/project/config/../'
Q_CLUSTER {'catch_up': False, 'django_redis': 'default', 'max_attempts': 5, 'name': 'QCluster', 'recycle': 50, 'retry': 7500, 'timeout': 7200, 'workers': 2}
REDIS_STREAM_MAX_LENGTH 1000
RELEASE_NAME ''
REQUIRE_SUPERUSER True
ROOT_URLCONF 'config.urls'
ROSETTA_ENABLE_TRANSLATION_SUGGESTIONS True
ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE 'de'
ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME 'Deutsch'
ROSETTA_SHOW_AT_ADMIN_PANEL 'True'
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 ('HTTP_X_FORWARDED_PROTO', 'https')
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 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE None
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.cache'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 'config.settings.staging'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_DOMAIN 'https://nmc-tales-staging.nmc.unibas.ch/'
SITE_ID 1
SLACK_WEBHOOK 'https://hooks.slack.com/services/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'
SSE_HEARTBEAT_SEC 15
SSE_RETRY_MS 5000
STAGING_EMAIL_RECIPIENTS ['notifications-nmc@unibas.ch']
STATICFILES_DIRS ['/app/project/config/../static']
STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
STATIC_ROOT '/app/project/config/../../staticfiles'
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TALES_BASE_URL 'https://tales.nmc.unibas.ch'
TALES_VERSION 'dev'
TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.12/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THIRD_PARTY_APPS ('debug_toolbar',)
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'Europe/Zurich'
USER_DEACTIVATION_AFTER_DAYS 730
USER_DELETION_AFTER_DAYS 912
USE_I18N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
VIEW_CACHE_TTL 600
WAFFLE_CREATE_MISSING_FLAGS True
WAFFLE_CREATE_MISSING_SAMPLES True
WAFFLE_CREATE_MISSING_SWITCHES True
WAFFLE_LOG_MISSING_FLAGS 30
WAFFLE_LOG_MISSING_SAMPLES 30
WAFFLE_LOG_MISSING_SWITCHES 30
WSGI_APPLICATION 'config.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Header

Anfrage-Header

Schlüssel Wert
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Host nmc-tales-staging.nmc.unibas.ch
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Via 2.0 Caddy
X-Forwarded-For 216.73.216.159
X-Forwarded-Host nmc-tales-staging.nmc.unibas.ch
X-Forwarded-Proto https

Antwort-Header

Schlüssel Wert
Content-Type text/html; charset=utf-8

WSGI-Umgebung

Da sich die WSGI-Umgebung von der Umgebung des Servers ableitet, wird nur eine notwendige Teilmenge dargestellt.

Schlüssel Wert
PATH_INFO /de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138
QUERY_STRING
REMOTE_ADDR 172.18.0.2
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 8000
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE gunicorn/23.0.0

Anfrage

View-Informationen

View-Funktion Argumente Schlüsselwort-Argumente URL-Name
utils.decorators.cache_per_user.<locals>.decorator.<locals>.apply_cache () {'chapter_pk': 213, 'chapter_slug': 'what-are-african-contributions-to-global-health', 'course_pk': 40, 'course_slug': 'examining-african-contributions-to-global-health', 'pk': 1138, 'slug': 'what-is-global-health'} tales:step

Keine Cookies

Keine Sitzungsdaten

Keine GET-Daten

Keine POST-Daten

SQL-Abfragen von 1 Verbindung

  • default 11,01 ms (6 Abfragen )
Abfrage Verlauf Zeit (ms) Aktion
SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."published_languages",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 WHERE "lms_tales_talesstep"."id" = 1138
 LIMIT 21
SELECT ••• FROM "lms_tales_talesstep" WHERE "lms_tales_talesstep"."id" = 1138 LIMIT 21
2,87

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(43)
  self.object = self.get_object()

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstepfilenew"."id",
       "lms_tales_talesstepfilenew"."created",
       "lms_tales_talesstepfilenew"."modified",
       "lms_tales_talesstepfilenew"."step_id",
       "lms_tales_talesstepfilenew"."file_id",
       "lms_tales_talesstepfilenew"."language"
  FROM "lms_tales_talesstepfilenew"
 WHERE ("lms_tales_talesstepfilenew"."language" = 'de' AND "lms_tales_talesstepfilenew"."step_id" = 1138)
SELECT ••• FROM "lms_tales_talesstepfilenew" WHERE ("lms_tales_talesstepfilenew"."language" = 'de' AND "lms_tales_talesstepfilenew"."step_id" = 1138)
1,18

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(113)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(65)
  if len(step_files_new) == 0:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."published_languages",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 INNER JOIN "lms_tales_taleschapter"
    ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id")
 WHERE ("lms_tales_talesstep"."chapter_id" = 213 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" > 12417)
 ORDER BY "lms_tales_taleschapter"."course_id" ASC,
          "lms_tales_taleschapter"."order" ASC,
          "lms_tales_talesstep"."order" ASC
 LIMIT 1
SELECT ••• FROM "lms_tales_talesstep" INNER JOIN "lms_tales_taleschapter" ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id") WHERE ("lms_tales_talesstep"."chapter_id" = 213 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" > 12417) ORDER BY "lms_tales_taleschapter"."course_id" ASC, "lms_tales_taleschapter"."order" ASC, "lms_tales_talesstep"."order" ASC LIMIT 1
2,59

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(116)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(257)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(93)
  return qs.first()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."published_languages",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 INNER JOIN "lms_tales_taleschapter"
    ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id")
 WHERE ("lms_tales_talesstep"."chapter_id" = 213 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" < 12417)
 ORDER BY "lms_tales_taleschapter"."course_id" DESC,
          "lms_tales_taleschapter"."order" DESC,
          "lms_tales_talesstep"."order" DESC
 LIMIT 1
SELECT ••• FROM "lms_tales_talesstep" INNER JOIN "lms_tales_taleschapter" ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id") WHERE ("lms_tales_talesstep"."chapter_id" = 213 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" < 12417) ORDER BY "lms_tales_taleschapter"."course_id" DESC, "lms_tales_taleschapter"."order" DESC, "lms_tales_talesstep"."order" DESC LIMIT 1
2,62

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(99)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(263)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(94)
  return qs.last()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT 1 AS "a"
  FROM "lms_assignment_assignment"
 WHERE ("lms_assignment_assignment"."step_id" = 1138 AND "lms_assignment_assignment"."available")
 LIMIT 1
SELECT 1 AS "a" FROM "lms_assignment_assignment" WHERE ("lms_assignment_assignment"."step_id" = 1138 AND "lms_assignment_assignment"."available") LIMIT 1
0,93

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talescoursefile"."id",
       "lms_tales_talescoursefile"."created",
       "lms_tales_talescoursefile"."modified",
       "lms_tales_talescoursefile"."title",
       "lms_tales_talescoursefile"."course_id",
       "lms_tales_talescoursefile"."file"
  FROM "lms_tales_talescoursefile"
 WHERE "lms_tales_talescoursefile"."id" = 548
 LIMIT 21
SELECT ••• FROM "lms_tales_talescoursefile" WHERE "lms_tales_talescoursefile"."id" = 548 LIMIT 21
0,81

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65)
  result = execute_query_func()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

Statische Dateien (276 gefunden, 7 benutzt)

Pfad mit statischen Dateien

  1. /app/project/static

Apps mit statischen Dateien

  1. modeltranslation
  2. django.contrib.admin
  3. allauth.account
  4. django_extensions
  5. markdownx
  6. django_htmx
  7. rosetta
  8. notifications
  9. lms_base
  10. lms_tales
  11. reporting
  12. debug_toolbar

Statische Dateien

images/icon_tales_white.png
/app/project/static/images/icon_tales_white.png
images/icon_tales_transp.png
/app/project/static/images/icon_tales_transp.png
lms_base/css/lms_base_main.css
/app/project/lms_base/static/lms_base/css/lms_base_main.css
lms_tales/css/lms_tales.css
None
lms_base/js/lms_base.js
/app/project/lms_base/static/lms_base/js/lms_base.js
lms_tales/js/lms_tales.js
/app/project/lms_tales/static/lms_tales/js/lms_tales.js
images/uni-basel-logo-de.svg
/app/project/static/images/uni-basel-logo-de.svg

django.contrib.staticfiles.finders.FileSystemFinder (98 Dateien)

Pfad Ort
robots.txt /app/project/static/robots.txt
alphorn_07.jpg /app/project/static/alphorn_07.jpg
browserconfig.xml /app/project/static/browserconfig.xml
alphorn_11.jpg /app/project/static/alphorn_11.jpg
lottie/optimized_tales_banner2.mp4 /app/project/static/lottie/optimized_tales_banner2.mp4
lottie/optimized_tales_banner_av1.webm /app/project/static/lottie/optimized_tales_banner_av1.webm
lottie/tales_banner3.mp4 /app/project/static/lottie/tales_banner3.mp4
lottie/optimized_tales_banner3.webm /app/project/static/lottie/optimized_tales_banner3.webm
lottie/optimized_tales_banner2.webm /app/project/static/lottie/optimized_tales_banner2.webm
lottie/tales_banner.json /app/project/static/lottie/tales_banner.json
lottie/optimized_tales_banner3.mp4 /app/project/static/lottie/optimized_tales_banner3.mp4
lottie/optimized_tales_banner_av1.mp4 /app/project/static/lottie/optimized_tales_banner_av1.mp4
lottie/optimized_tales_banner.mp4 /app/project/static/lottie/optimized_tales_banner.mp4
lottie/tales_banner2.mp4 /app/project/static/lottie/tales_banner2.mp4
reporting/css/report_pdf.css.map /app/project/static/reporting/css/report_pdf.css.map
reporting/css/report_pdf.css /app/project/static/reporting/css/report_pdf.css
reporting/images/nmcunilogo.png /app/project/static/reporting/images/nmcunilogo.png
reporting/images/background.jpg /app/project/static/reporting/images/background.jpg
dropzone/dropzone.min.css /app/project/static/dropzone/dropzone.min.css
dropzone/dropzone-amd-module.min.js /app/project/static/dropzone/dropzone-amd-module.min.js
dropzone/basic.min.css /app/project/static/dropzone/basic.min.css
dropzone/dropzone.min.js /app/project/static/dropzone/dropzone.min.js
opos/4_4.html /app/project/static/opos/4_4.html
opos/4_3.html /app/project/static/opos/4_3.html
opos/4_5.html /app/project/static/opos/4_5.html
opos/4_1.html /app/project/static/opos/4_1.html
tales_editor/favicon.ico /app/project/static/tales_editor/favicon.ico
tales_editor/index.html /app/project/static/tales_editor/index.html
tales_editor/css/chunk-vendors.css /app/project/static/tales_editor/css/chunk-vendors.css
tales_editor/css/app.css /app/project/static/tales_editor/css/app.css
tales_editor/img/bootstrap-icons.svg /app/project/static/tales_editor/img/bootstrap-icons.svg
tales_editor/img/remixicon.symbol.svg /app/project/static/tales_editor/img/remixicon.symbol.svg
tales_editor/js/app.js /app/project/static/tales_editor/js/app.js
tales_editor/js/app.js.map /app/project/static/tales_editor/js/app.js.map
tales_editor/js/chunk-vendors.js /app/project/static/tales_editor/js/chunk-vendors.js
tales_editor/js/chunk-vendors.js.map /app/project/static/tales_editor/js/chunk-vendors.js.map
images/opos_map_xs.png /app/project/static/images/opos_map_xs.png
images/opos_map_xl.png /app/project/static/images/opos_map_xl.png
images/edu-id-button-gray.png /app/project/static/images/edu-id-button-gray.png
images/icon_tales_mint.png /app/project/static/images/icon_tales_mint.png
images/favicon.ico /app/project/static/images/favicon.ico
images/door.jpg /app/project/static/images/door.jpg
images/icon_tales_transp_32x32.png /app/project/static/images/icon_tales_transp_32x32.png
images/uni-basel-logo-de.svg /app/project/static/images/uni-basel-logo-de.svg
images/raymond_ammann.jpg /app/project/static/images/raymond_ammann.jpg
images/help_en.jpg /app/project/static/images/help_en.jpg
images/opos_map_xs.avif /app/project/static/images/opos_map_xs.avif
images/opos_map_md.png /app/project/static/images/opos_map_md.png
images/help_de.jpg /app/project/static/images/help_de.jpg
images/bild.png /app/project/static/images/bild.png
images/help.jpg /app/project/static/images/help.jpg
images/Hochformat.jpg /app/project/static/images/Hochformat.jpg
images/empty_classroom.jpg /app/project/static/images/empty_classroom.jpg
images/uni-basel-logo-de.png /app/project/static/images/uni-basel-logo-de.png
images/contact-side-image-1.jpg /app/project/static/images/contact-side-image-1.jpg
images/icon_tales_white.png /app/project/static/images/icon_tales_white.png
images/portalflag.png /app/project/static/images/portalflag.png
images/uni-basel-logo-en.svg /app/project/static/images/uni-basel-logo-en.svg
images/contact-side-image-2.jpg /app/project/static/images/contact-side-image-2.jpg
images/alp_und_hirtenhorn.jpg /app/project/static/images/alp_und_hirtenhorn.jpg
images/icon_tales_transp.png /app/project/static/images/icon_tales_transp.png
images/Weltkarte_Opos.png /app/project/static/images/Weltkarte_Opos.png
images/batkitty.jpg /app/project/static/images/batkitty.jpg
images/help_fr.jpg /app/project/static/images/help_fr.jpg
nahtkurs_glossar/antikoagu.jpg /app/project/static/nahtkurs_glossar/antikoagu.jpg
nahtkurs_glossar/anamnese.jpg /app/project/static/nahtkurs_glossar/anamnese.jpg
nahtkurs_glossar/wundinfektion.jpg /app/project/static/nahtkurs_glossar/wundinfektion.jpg
nahtkurs_glossar/tensilestength.jpg /app/project/static/nahtkurs_glossar/tensilestength.jpg
nahtkurs_glossar/glucose.jpg /app/project/static/nahtkurs_glossar/glucose.jpg
nahtkurs_glossar/nacl.jpg /app/project/static/nahtkurs_glossar/nacl.jpg
sounds/temperiert_nr_7.mp3 /app/project/static/sounds/temperiert_nr_7.mp3
sounds/alphorn_13.mp3 /app/project/static/sounds/alphorn_13.mp3
sounds/alphorn_05.mp3 /app/project/static/sounds/alphorn_05.mp3
sounds/alphorn_11.mp3 /app/project/static/sounds/alphorn_11.mp3
sounds/naturton_nr_7.mp3 /app/project/static/sounds/naturton_nr_7.mp3
sounds/hirtenhorn_04.mp3 /app/project/static/sounds/hirtenhorn_04.mp3
sounds/alphorn_14.mp3 /app/project/static/sounds/alphorn_14.mp3
sounds/alphorn_01.mp3 /app/project/static/sounds/alphorn_01.mp3
sounds/alphorn_12.mp3 /app/project/static/sounds/alphorn_12.mp3
sounds/alphorn_02.mp3 /app/project/static/sounds/alphorn_02.mp3
sounds/alphorn_09.mp3 /app/project/static/sounds/alphorn_09.mp3
sounds/alphorn_04.mp3 /app/project/static/sounds/alphorn_04.mp3
sounds/alphorn_15.mp3 /app/project/static/sounds/alphorn_15.mp3
sounds/hirtenhorn_07.mp3 /app/project/static/sounds/hirtenhorn_07.mp3
sounds/alphorn_08.mp3 /app/project/static/sounds/alphorn_08.mp3
sounds/alphorn_03.mp3 /app/project/static/sounds/alphorn_03.mp3
sounds/hirtenhorn_02.mp3 /app/project/static/sounds/hirtenhorn_02.mp3
sounds/alphorn_10.mp3 /app/project/static/sounds/alphorn_10.mp3
sounds/hirtenhorn_01.mp3 /app/project/static/sounds/hirtenhorn_01.mp3
sounds/hirtenhorn_06.mp3 /app/project/static/sounds/hirtenhorn_06.mp3
sounds/alphorn_07.mp3 /app/project/static/sounds/alphorn_07.mp3
sounds/temperiert_nr_11.mp3 /app/project/static/sounds/temperiert_nr_11.mp3
sounds/hirtenhorn_08.mp3 /app/project/static/sounds/hirtenhorn_08.mp3
sounds/naturton_nr_11.mp3 /app/project/static/sounds/naturton_nr_11.mp3
sounds/alphorn_16.mp3 /app/project/static/sounds/alphorn_16.mp3
sounds/hirtenhorn_05.mp3 /app/project/static/sounds/hirtenhorn_05.mp3
sounds/hirtenhorn_03.mp3 /app/project/static/sounds/hirtenhorn_03.mp3
sounds/alphorn_06.mp3 /app/project/static/sounds/alphorn_06.mp3

django.contrib.staticfiles.finders.AppDirectoriesFinder (178 Dateien)

Pfad Ort
modeltranslation/css/tabbed_translation_fields.css /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css
modeltranslation/js/clearable_inputs.js /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js
modeltranslation/js/tabbed_translation_fields.js /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js
modeltranslation/js/force_jquery.js /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js
admin/css/autocomplete.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/responsive.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/widgets.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/changelists.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/unusable_password_field.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/unusable_password_field.css
admin/css/dark_mode.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dark_mode.css
admin/css/responsive_rtl.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/nav_sidebar.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/dashboard.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/forms.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/rtl.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/login.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/base.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/vendor/select2/select2.min.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
admin/css/vendor/select2/select2.css /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
admin/css/vendor/select2/LICENSE-SELECT2.md /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/img/icon-clock.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/sorting-icons.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/icon-alert.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/icon-changelink.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/selector-icons.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/calendar-icons.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/tooltag-arrowright.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/inline-delete.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/icon-yes.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/icon-unknown-alt.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/icon-viewlink.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/search.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/icon-deletelink.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/icon-hidelink.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-hidelink.svg
admin/img/README.txt /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/LICENSE /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-calendar.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/tooltag-add.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/icon-unknown.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/icon-addlink.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/icon-no.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/gis/move_vertex_off.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/img/gis/move_vertex_on.svg /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/js/SelectBox.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/jquery.init.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/inlines.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/filters.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/filters.js
admin/js/unusable_password_field.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/unusable_password_field.js
admin/js/change_form.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/autocomplete.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/nav_sidebar.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/popup_response.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectFilter2.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/actions.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/core.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/cancel.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/prepopulate.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/urlify.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/calendar.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/prepopulate_init.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/theme.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/theme.js
admin/js/admin/DateTimeShortcuts.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/js/vendor/select2/select2.full.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
admin/js/vendor/select2/select2.full.min.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/LICENSE.md /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/i18n/zh-CN.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js
admin/js/vendor/select2/i18n/sr-Cyrl.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
admin/js/vendor/select2/i18n/uk.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/ar.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/ka.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/bn.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/select2/i18n/pt.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/hi.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/dsb.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/bs.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/ru.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/ms.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/et.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/sl.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/he.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/is.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/cs.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/sq.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/select2/i18n/sv.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/ne.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/js/vendor/select2/i18n/ko.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/vi.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/ca.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/id.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/nb.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/hr.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/af.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/de.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/mk.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/hy.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/it.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/hu.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/ja.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/sk.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/hsb.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/ro.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/en.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/el.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/fa.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js
admin/js/vendor/select2/i18n/pt-BR.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
admin/js/vendor/select2/i18n/da.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/sr.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/ps.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/lt.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/az.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/fr.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/fi.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/tk.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/th.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/gl.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/eu.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/es.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/km.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/bg.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/lv.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
admin/js/vendor/select2/i18n/zh-TW.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js
admin/js/vendor/select2/i18n/pl.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/tr.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/nl.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/xregexp/xregexp.min.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/xregexp/LICENSE.txt /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/vendor/jquery/jquery.min.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/jquery.js /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/jquery/LICENSE.txt /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
account/js/account.js /usr/local/lib/python3.12/site-packages/allauth/account/static/account/js/account.js
account/js/onload.js /usr/local/lib/python3.12/site-packages/allauth/account/static/account/js/onload.js
django_extensions/css/jquery.autocomplete.css /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css
django_extensions/img/indicator.gif /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/img/indicator.gif
django_extensions/js/jquery.ajaxQueue.js /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js
django_extensions/js/jquery.autocomplete.js /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js
django_extensions/js/jquery.bgiframe.js /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js
markdownx/admin/css/markdownx.css /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/admin/css/markdownx.css
markdownx/admin/css/markdownx.min.css /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/admin/css/markdownx.min.css
markdownx/js/markdownx.min.js /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/js/markdownx.min.js
markdownx/js/markdownx.js /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/js/markdownx.js
django_htmx/htmx.min.js /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/htmx.min.js
django_htmx/htmx.js /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/htmx.js
django_htmx/django-htmx.js /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/django-htmx.js
admin/rosetta/css/rosetta.css /usr/local/lib/python3.12/site-packages/rosetta/static/admin/rosetta/css/rosetta.css
admin/rosetta/js/rosetta.js /usr/local/lib/python3.12/site-packages/rosetta/static/admin/rosetta/js/rosetta.js
admin/img/icon_searchbox_rosetta.png /usr/local/lib/python3.12/site-packages/rosetta/static/admin/img/icon_searchbox_rosetta.png
notifications/notify.js /usr/local/lib/python3.12/site-packages/notifications/static/notifications/notify.js
lms_base/fonts/Inter-VariableFont_opsz,wght.ttf /app/project/lms_base/static/lms_base/fonts/Inter-VariableFont_opsz,wght.ttf
lms_base/fonts/PTSerif-BoldItalic.ttf /app/project/lms_base/static/lms_base/fonts/PTSerif-BoldItalic.ttf
lms_base/fonts/PTSerif-Regular.ttf /app/project/lms_base/static/lms_base/fonts/PTSerif-Regular.ttf
lms_base/fonts/Inter-Italic-VariableFont_opsz,wght.ttf /app/project/lms_base/static/lms_base/fonts/Inter-Italic-VariableFont_opsz,wght.ttf
lms_base/fonts/PTSerif-Italic.ttf /app/project/lms_base/static/lms_base/fonts/PTSerif-Italic.ttf
lms_base/fonts/PTSerif-Bold.ttf /app/project/lms_base/static/lms_base/fonts/PTSerif-Bold.ttf
lms_base/css/lms_base_main.css /app/project/lms_base/static/lms_base/css/lms_base_main.css
lms_base/css/_codehilite_dark.css /app/project/lms_base/static/lms_base/css/_codehilite_dark.css
lms_base/css/_lms_base_variables.css /app/project/lms_base/static/lms_base/css/_lms_base_variables.css
lms_base/css/_lms_base.css /app/project/lms_base/static/lms_base/css/_lms_base.css
lms_base/css/_codehilite.css /app/project/lms_base/static/lms_base/css/_codehilite.css
lms_base/css/_codehilite_light.css /app/project/lms_base/static/lms_base/css/_codehilite_light.css
lms_base/css/fonts.css /app/project/lms_base/static/lms_base/css/fonts.css
lms_base/css/_lms_tales.css /app/project/lms_base/static/lms_base/css/_lms_tales.css
lms_base/css/_search.css /app/project/lms_base/static/lms_base/css/_search.css
lms_base/js/lms_base.js /app/project/lms_base/static/lms_base/js/lms_base.js
browserconfig.xml /app/project/lms_tales/static/browserconfig.xml
lms_tales/js/lms_tales.js /app/project/lms_tales/static/lms_tales/js/lms_tales.js
reporting/bar-chart.png /app/project/reporting/static/reporting/bar-chart.png
reporting/js/runtime.js /app/project/reporting/static/reporting/js/runtime.js
reporting/js/index.js /app/project/reporting/static/reporting/js/index.js
reporting/js/views_summary.js /app/project/reporting/static/reporting/js/views_summary.js
debug_toolbar/css/toolbar.css /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
debug_toolbar/css/print.css /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/print.css
debug_toolbar/js/utils.js /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
debug_toolbar/js/toolbar.js /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/js/history.js /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/timer.js /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/redirect.js /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js

Templates (6 gerendert)

Template-Pfade

  1. /app/project/templates
  2. /usr/local/lib/python3.12/site-packages/django/forms/templates

Templates

step/step_home.html
/app/project/lms_tales/templates/step/step_home.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>}
base.html
/app/project/templates/base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>}
components/header.html
/app/project/templates/components/header.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
components/sidebar-navigation.html
/app/project/templates/components/sidebar-navigation.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x7882f4196ed0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x7882f4864bc0>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7882effc4d70>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x7882f4195640>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'CI_COMMIT_TAG': '2.6.23', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7882f61d1430>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_assignments': '<<queryset of lms_assignment.Assignment>>', 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: What is global health?>, 'talesstep': <TalesStep: What is global health?>, 'view': <lms_tales.views.step_views.StepDetails object at 0x7882efeb3110>} {'block': <Block Node: breadcrumb-bar. Contents: [<TextNode: '\n <div id="tit'>, <Block Node: sidebar-arrow. Contents: [<TextNode: '\n <div'>, <django.template.library.SimpleNode object at 0x7882f48675c0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7882f4197aa0>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}

Context-Prozessoren

django.template.context_processors.csrf
Context zeigen {'csrf_token': <SimpleLazyObject: 'tjxgQtpkdDVPj8iWZoaXqFHF6bGnwIn2IeV5tsGSZo2KzRqHu60vgdnzsJlNamhu'>}
django.template.context_processors.debug
Context zeigen {}
django.template.context_processors.request
Context zeigen {'request': <WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>}
django.contrib.auth.context_processors.auth
Context zeigen {'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882f61d1430>>>)}
django.template.context_processors.i18n
Context zeigen {'LANGUAGES': (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch')), 'LANGUAGE_CODE': 'de', 'LANGUAGE_BIDI': False}
django.template.context_processors.media
Context zeigen {'MEDIA_URL': '/media/'}
django.template.context_processors.static
Context zeigen {'STATIC_URL': '/static/'}
django.template.context_processors.tz
Context zeigen {'TIME_ZONE': 'Europe/Zurich'}
django.contrib.messages.context_processors.messages
Context zeigen {'messages': <FallbackStorage: request=<WSGIRequest: GET '/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
utils.context_processors.ci_info
Context zeigen {'CI_COMMIT_TAG': '2.6.23', 'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}

Cache-Aufrufe von 1 Backend

Zusammenfassung

Aufrufe gesamt Zeit gesamt Cache erfolgreich Cache verfehlt
45 19,484520191326737 ms 166 2

Befehle

add get set get_or_set touch delete clear get_many set_many delete_many has_key incr decr incr_version decr_version
0 4 1 0 0 0 0 34 6 0 0 0 0 0 0

Aufrufe

Zeit (ms) Typ Argumente Schlüsselwort-Argumente Backend
0,8242 get_many (dict_keys(['b5ac959681ff06eff632d25a5961a4d3cad09b42', '542c27005f4e84288827ce70a7d49bc73324a5e7', '887f8247d0ff979264c73b069f790024b2aa98e1', 'a2cec6efb2cb51d9fcdc73ec65d0d02848d3205f', 'af167bf678e72a9b2a64d8869d420b8d25e96148', 'f2b266a5acd7f191551fca80dea8475d456a300c', 'e5890f0f95e54c95fc7d85ffd3cd8f5079a384eb', '7d22fa9ec7aaf50b239b17bb4529f27be72f4b3d', 'fab86eaeb6f68c1bd14e3c42d6a32fc63fe5c10b', '1671d58e08fb6227d160e4add3baac34f778006f', '5634047d837b3106d3997f0611a298a16f6754cb', '38c0c9db04f183fb89086db2a3a02d20d5c1cbda', '33cd0b10f8c2fd53802b0948820b8b58da6bb27c', 'dbdc4e6f3de4931fbb7e39044291d87c49a581a7', 'bf555e2c224baeeac5838ee69c053900ce037b1d', '452aaa2adbf5d826d715538ebfd87013a599bacd', '5ef73f3d610667d7836abd847979ad8d02582140', '28b4f1c78186b497fc0611b76d5609a36a170804', 'acd1c2a120952e0445e89d8a2cc8faa99cc73454', '3fdb5b63faddfa01f5ebd09a89b74c9b3ec742bf', 'bc41695a90f568da6f9c44d14dbb30130bea76db', '6d6bdc7046f6d1410bd41d09cd570831af97fd31', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d', '53be6fda1fd748ebf22448f6a7198ac840f72333', 'd34b8ed7c3bb0d3a712a5e42065744014bfe1542', '79e961accf5948510a59b713e9ce3e05149ecb9a', '278c8c5d27e7320e3af5c0e58455e4cde02b8a72', '6fba3302f986e5123578c49cb4b67a30260902ef', '2cba4b775af45bd99b4d40c0eeea58bc34f649af', 'c3887a52bdae91615f95386118c2933047f56eda', 'a8659af44b2a1917aa38ef15409b212aaf5fec76']),) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(40)
  self.collect_invalidations()

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in collect_invalidations(52)
  for cache_key, timestamp in cache.get_many(

0,4780 get ('view_cache_view_/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138_anonymous', None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(58)
  response = cache.get(CACHE_KEY, None)

0,5027 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '266546c26b1c02e70a5a446cec5a11cc29abda39'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(43)
  self.object = self.get_object()

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,6128 set_many ({'266546c26b1c02e70a5a446cec5a11cc29abda39': (1765771317.4604423, [[(1138, datetime.datetime(2022, 4, 6, 9, 59, 1, 917022, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 1, 26, 14, 6, 11, 464106, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 1, 26, 14, 6, 11, 389817, tzinfo=datetime.timezone.utc), False, '[]', 'What is global health?', None, 'What is global health?', None, '', None, None, None, 'In this video, Tanja Hammel discusses the definition, scope and emergence of global health.', None, 'In this video, Tanja Hammel discusses the definition, scope and emergence of global health.', None, '', 'what-is-global-health', 'Global health is a field of many different vested interests. Sometimes the parties involved combine their efforts to achieve a common objective. Sometimes these parties put their own objectives above the common good and come into conflict with one another. But what exactly is global health?\r\n{.lead}\r\n\r\n![embed](https://vimeo.com/569373565/305aaa203d)\r\n \r\nDuring the Covid-19 pandemic, the benefits and challenges of a global health approach became very visible. On the one hand, we all witnessed medical and technological progress: The vaccines were developed incredibly fast. And in order to ensure that the vaccines are equally distributed, the World Health Organization initiated the COVAX scheme. On the other hand, the pandemic showed the limits of global health. We witnessed unsuccessful surveillance and communication; we saw how important supply chains broke down. The way in which high-income countries bought vaccines risked ruining the global COVAX vaccine distribution plan.\r\n \r\nAre the limits of global health just the effect of a world overwhelmed by a global crisis? Apparently not. According to the Director-General of the World Health Organization, Tedros Adhanom Ghebreyesus, the problems in global health predated the Covid-19 pandemic. [In a speech before the general assembly in January 2021](https://www.who.int/multi-media/details/who-director-general-s-opening-remarks-at-148th-session-of-the-executive-board){:target=”_blank”}, he remembered the HIV pandemic in the 1980s and the H1N1 pandemic in 2009. He pointed out that in both pandemics, the world’s poor did not get access to life-saving medicines and vaccines for an incredibly long time. He emphasised that we should avoid the mistakes made during both pandemics. In order to do so, we need to understand that the problem persists.\r\n \r\nWatch how Tanja Hammel discusses the definitions, scope, and emergence of global health in this video. Then listen to the audio of the speech of the Director-General of the World Health Organization. Do you think it is possible to ensure that we do not repeat the mistakes of past pandemics? How do we do that?\r\n\r\n<br>\r\n\r\nReferences\r\n{.footnote-title}\r\n\r\nAbdalla SM, Solomon H, Trinquart L, et al. What is considered as global health scholarship? A meta-knowledge analysis of global health journals and definitions.\r\nBMJ Global Health [Internet]. 2020 [cited 7 December 2021]; 5 (10). Available from: [https://gh.bmj.com/content/bmjgh/5/10/e002884.full.pdf](https://gh.bmj.com/content/bmjgh/5/10/e002884.full.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nRelated link\r\n{.footnote-title}\r\n\r\n[WHO Director-General’s Opening Remarks at 148th Session of the Executive Board 2021](https://www.who.int/multi-media/details/who-director-general-s-opening-remarks-at-148th-session-of-the-executive-board){:target=“_blank”} (Audio)', '', 'Global health is a field of many different vested interests. Sometimes the parties involved combine their efforts to achieve a common objective. Sometimes these parties put their own objectives above the common good and come into conflict with one another. But what exactly is global health?\r\n{.lead}\r\n\r\n![embed](https://vimeo.com/569373565/305aaa203d)\r\n \r\nDuring the Covid-19 pandemic, the benefits and challenges of a global health approach became very visible. On the one hand, we all witnessed medical and technological progress: The vaccines were developed incredibly fast. And in order to ensure that the vaccines are equally distributed, the World Health Organization initiated the COVAX scheme. On the other hand, the pandemic showed the limits of global health. We witnessed unsuccessful surveillance and communication; we saw how important supply chains broke down. The way in which high-income countries bought vaccines risked ruining the global COVAX vaccine distribution plan.\r\n \r\nAre the limits of global health just the effect of a world overwhelmed by a global crisis? Apparently not. According to the Director-General of the World Health Organization, Tedros Adhanom Ghebreyesus, the problems in global health predated the Covid-19 pandemic. [In a speech before the general assembly in January 2021](https://www.who.int/multi-media/details/who-director-general-s-opening-remarks-at-148th-session-of-the-executive-board){:target=”_blank”}, he remembered the HIV pandemic in the 1980s and the H1N1 pandemic in 2009. He pointed out that in both pandemics, the world’s poor did not get access to life-saving medicines and vaccines for an incredibly long time. He emphasised that we should avoid the mistakes made during both pandemics. In order to do so, we need to understand that the problem persists.\r\n \r\nWatch how Tanja Hammel discusses the definitions, scope, and emergence of global health in this video. Then listen to the audio of the speech of the Director-General of the World Health Organization. Do you think it is possible to ensure that we do not repeat the mistakes of past pandemics? How do we do that?\r\n\r\n<br>\r\n\r\nReferences\r\n{.footnote-title}\r\n\r\nAbdalla SM, Solomon H, Trinquart L, et al. What is considered as global health scholarship? A meta-knowledge analysis of global health journals and definitions.\r\nBMJ Global Health [Internet]. 2020 [cited 7 December 2021]; 5 (10). Available from: [https://gh.bmj.com/content/bmjgh/5/10/e002884.full.pdf](https://gh.bmj.com/content/bmjgh/5/10/e002884.full.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nRelated link\r\n{.footnote-title}\r\n\r\n[WHO Director-General’s Opening Remarks at 148th Session of the Executive Board 2021](https://www.who.int/multi-media/details/who-director-general-s-opening-remarks-at-148th-session-of-the-executive-board){:target=“_blank”} (Audio)', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TV', '05:18', 12417, 'published', True, 'Please share your thoughts to the questions above in the [comments](#comments) section below.', None, 'Please share your thoughts to the questions above in the [comments](#comments) section below.', None, 213)]])}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(43)
  self.object = self.get_object()

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,3696 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '266546c26b1c02e70a5a446cec5a11cc29abda39'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(112)
  self.object = self.get_object()

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3429 get_many (['4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '138549f5508bbba7283d6a0625e51c589d845e8f', '53c996482f809b6652aa0a9e6be6d29ff14ecc59'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(113)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(65)
  if len(step_files_new) == 0:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3454 set_many ({'53c996482f809b6652aa0a9e6be6d29ff14ecc59': (1765771317.475032, [[(485, datetime.datetime(2022, 4, 8, 8, 22, 51, 73287, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 4, 8, 8, 22, 51, 73287, tzinfo=datetime.timezone.utc), 1138, 548, 'de')]])}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(113)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(65)
  if len(step_files_new) == 0:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,3064 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'bdf58816c23a31c1eb60ac6e7404af8ea3b882be'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(113)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(72)
  context["course"] = self.object.chapter.course

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3017 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'c481cd8d20bbcf1e0b2a0b693cc07d3caa0ccf3e'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in view(105)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(69)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/base.py in dispatch(144)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(38)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py in get(113)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(72)
  context["course"] = self.object.chapter.course

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4214 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3477 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3345 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3163 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3396 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3307 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3099 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(75)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3903 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'df8ebb59433c4fbd7848a2381ffb01828a0b6f1d'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5757 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '64b2ef7c998f975307f2d8f6faf42482d036a0c3'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4813 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'fc3acc787823b285126c82604af4b3480913125a'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5886 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '5bebf35500d398dfa86646d92c4c3e3209a46257'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5568 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '86a2e13683d21d8ddab507970316eb5603922141'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,6571 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'e8a490bbf9e3164b3c8eb87f09e6b741e9ce488b'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4466 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'c0ead2f64a5ea55ec0077f1b2491a22974892d25'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(116)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(257)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(93)
  return qs.first()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4957 set_many ({'c0ead2f64a5ea55ec0077f1b2491a22974892d25': (1765771317.583863, [[(1139, datetime.datetime(2022, 4, 6, 9, 59, 19, 13989, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 1, 26, 14, 13, 40, 425315, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 1, 26, 14, 13, 40, 313709, tzinfo=datetime.timezone.utc), False, '[]', 'South African medicinal plants in global health', None, 'South African medicinal plants in global health', None, '', None, None, None, 'In this podcast, Tanja Hammel and Diana Gibson discuss two South African medicinal plants: cancer bush and kanna.', None, 'In this podcast, Tanja Hammel and Diana Gibson discuss two South African medicinal plants: cancer bush and kanna.', None, '', 'south-african-medicinal-plants-in-global-health', 'Let us now turn to an example of how African knowledge can contribute to global health: In this podcast, Tanja Hammel and medical anthropologist Diana Gibson discuss two South African medicinal plants. How could the world benefit from the plants’ medical properties? How can we guarantee that indigenous communities will profit from this knowledge? Listen to the podcast – you can find the transcript below this step.\r\n{.lead}\r\n\r\n<iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/1245977734%3Fsecret_token%3Ds-s7RLzXcPWGK&color=%23ff5500&auto_play=false&hide_related=true&show_comments=false&show_user=true&show_reposts=false&show_teaser=false"></iframe><div style="font-size: 10px; color: #cccccc;line-break: anywhere;word-break: normal;overflow: hidden;white-space: nowrap;text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif;font-weight: 100;"><a href="https://soundcloud.com/user-74348671" title="New Media Center, Universität Basel" target="_blank" style="color: #cccccc; text-decoration: none;">New Media Center, Universität Basel</a> · <a href="https://soundcloud.com/user-74348671/south-african-medicinal-plants-in-global-health/s-s7RLzXcPWGK" title="ACTGH_1_6_South African Medicinal Plants In Global Health" target="_blank" style="color: #cccccc; text-decoration: none;">ACTGH_1_6_South African Medicinal Plants In Global Health</a></div>\r\n\r\nDiana Gibson is Emeritus Professor of Anthropology at the University of the Western Cape, Cape Town, South Africa. As a medical anthropologist, Gibson has done research on the connections between science, ethnobotany, ethnopharmacology, pharmacy, botany, traditional medicine and anthropology, with a focus on medicinal plants in the Cape floristic region.\r\n\r\n![Photo of Sutherlandia frutescens.](/media/markdownx/c98f68b6-b034-403a-bd7f-7bd78955c04b.jpeg)\r\n\r\n**Sutherlandia: a medical plant from South Africa, Namibia and Botswana (Photo courtesy Diana Gibson)**\r\n{.footnote}\r\n\r\n<br>\r\n\r\nIn this podcast, Gibson shares her expertise on two medicinal plants: cancer bush/balloon pea (*Sutherlandia frutescens*) and kanna (*Sceletium tortuosum*). *Sutherlandia frutescens* is particularly interesting, as it relieves noncommunicable conditions by acting as an immune modulator and has anti-bacterial and anti-cancer properties. *Sceletium tortuosum* alleviates pain and reduces stress, depression and anxiety.\r\n \r\n![Photo of Sceletium tortuosum.](/media/markdownx/471605cf-e2c9-4311-8802-f099db787071.jpeg)\r\n\r\n\r\n**Kanna: a second interesting medical plant (Photo courtesy Diana Gibson)**\r\n{.footnote}\r\n\r\n<br>\r\n\r\nFurther reading\r\n{.footnote-title}\r\n\r\nGibson D. Ambiguities in the making of an African Medicine: clinical trials of *Sutherlandia frutescens (L.) R.Br (Lessertia frutescens)*. African Sociological Review [Internet]. 2011 [cited 1 December 2021]; 15 (1): 124–137. Available from: [https://www.ajol.info/index.php/asr/article/view/74296](https://www.ajol.info/index.php/asr/article/view/74296){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nGouws C, Smit T, Willers C, Svitina H, Calitz C, Wrzesinski K. Anticancer Potential of *Sutherlandia frutescens* and *Xysmalobium undulatum* in LS180 Colorectal Cancer Mini-Tumors. Molecules [Internet]. MDPI AG; 2021 [cited 1 December 2021]; 26(3) :605. Available from: [http://dx.doi.org/10.3390/molecules26030605](http://dx.doi.org/10.3390/molecules26030605){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nManganyi MC, Bezuidenhout CC, Regnier T, Ateba CN. A Chewable Cure “Kanna”: Biological and Pharmaceutical Properties of *Sceletium tortuosum*. Molecules [Internet]. MDPI AG; 2021 [cited 1 December 2021]; 26(9): 2557. Available from: [http://dx.doi.org/10.3390/molecules26092557](http://dx.doi.org/10.3390/molecules26092557){:target=“_blank”}\r\n{.citation-indented}\r\n \r\nTerburg D, Syal S, Rosenberger L A, Heany S, Phillips N, Gericke N, Stein D J, van Honk J. Acute Effects of *Sceletium tortuosum* (Zembrin), a Dual 5-HT Reuptake and PDE4 Inhibitor, in the Human Amygdala and its Connection to the Hypothalamus. Neuropsychopharmacology [Internet]. 2013 [cited 1 December 2021]; 38: 2708–2716. Available from: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3828542/pdf/npp2013183a.pdf](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3828542/pdf/npp2013183a.pdf){:target=“_blank”}\r\n{.citation-indented}', '', 'Let us now turn to an example of how African knowledge can contribute to global health: In this podcast, Tanja Hammel and medical anthropologist Diana Gibson discuss two South African medicinal plants. How could the world benefit from the plants’ medical properties? How can we guarantee that indigenous communities will profit from this knowledge? Listen to the podcast – you can find the transcript below this step.\r\n{.lead}\r\n\r\n<iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/1245977734%3Fsecret_token%3Ds-s7RLzXcPWGK&color=%23ff5500&auto_play=false&hide_related=true&show_comments=false&show_user=true&show_reposts=false&show_teaser=false"></iframe><div style="font-size: 10px; color: #cccccc;line-break: anywhere;word-break: normal;overflow: hidden;white-space: nowrap;text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif;font-weight: 100;"><a href="https://soundcloud.com/user-74348671" title="New Media Center, Universität Basel" target="_blank" style="color: #cccccc; text-decoration: none;">New Media Center, Universität Basel</a> · <a href="https://soundcloud.com/user-74348671/south-african-medicinal-plants-in-global-health/s-s7RLzXcPWGK" title="ACTGH_1_6_South African Medicinal Plants In Global Health" target="_blank" style="color: #cccccc; text-decoration: none;">ACTGH_1_6_South African Medicinal Plants In Global Health</a></div>\r\n\r\nDiana Gibson is Emeritus Professor of Anthropology at the University of the Western Cape, Cape Town, South Africa. As a medical anthropologist, Gibson has done research on the connections between science, ethnobotany, ethnopharmacology, pharmacy, botany, traditional medicine and anthropology, with a focus on medicinal plants in the Cape floristic region.\r\n\r\n![Photo of Sutherlandia frutescens.](/media/markdownx/c98f68b6-b034-403a-bd7f-7bd78955c04b.jpeg)\r\n\r\n**Sutherlandia: a medical plant from South Africa, Namibia and Botswana (Photo courtesy Diana Gibson)**\r\n{.footnote}\r\n\r\n<br>\r\n\r\nIn this podcast, Gibson shares her expertise on two medicinal plants: cancer bush/balloon pea (*Sutherlandia frutescens*) and kanna (*Sceletium tortuosum*). *Sutherlandia frutescens* is particularly interesting, as it relieves noncommunicable conditions by acting as an immune modulator and has anti-bacterial and anti-cancer properties. *Sceletium tortuosum* alleviates pain and reduces stress, depression and anxiety.\r\n \r\n![Photo of Sceletium tortuosum.](/media/markdownx/471605cf-e2c9-4311-8802-f099db787071.jpeg)\r\n\r\n\r\n**Kanna: a second interesting medical plant (Photo courtesy Diana Gibson)**\r\n{.footnote}\r\n\r\n<br>\r\n\r\nFurther reading\r\n{.footnote-title}\r\n\r\nGibson D. Ambiguities in the making of an African Medicine: clinical trials of *Sutherlandia frutescens (L.) R.Br (Lessertia frutescens)*. African Sociological Review [Internet]. 2011 [cited 1 December 2021]; 15 (1): 124–137. Available from: [https://www.ajol.info/index.php/asr/article/view/74296](https://www.ajol.info/index.php/asr/article/view/74296){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nGouws C, Smit T, Willers C, Svitina H, Calitz C, Wrzesinski K. Anticancer Potential of *Sutherlandia frutescens* and *Xysmalobium undulatum* in LS180 Colorectal Cancer Mini-Tumors. Molecules [Internet]. MDPI AG; 2021 [cited 1 December 2021]; 26(3) :605. Available from: [http://dx.doi.org/10.3390/molecules26030605](http://dx.doi.org/10.3390/molecules26030605){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nManganyi MC, Bezuidenhout CC, Regnier T, Ateba CN. A Chewable Cure “Kanna”: Biological and Pharmaceutical Properties of *Sceletium tortuosum*. Molecules [Internet]. MDPI AG; 2021 [cited 1 December 2021]; 26(9): 2557. Available from: [http://dx.doi.org/10.3390/molecules26092557](http://dx.doi.org/10.3390/molecules26092557){:target=“_blank”}\r\n{.citation-indented}\r\n \r\nTerburg D, Syal S, Rosenberger L A, Heany S, Phillips N, Gericke N, Stein D J, van Honk J. Acute Effects of *Sceletium tortuosum* (Zembrin), a Dual 5-HT Reuptake and PDE4 Inhibitor, in the Human Amygdala and its Connection to the Hypothalamus. Neuropsychopharmacology [Internet]. 2013 [cited 1 December 2021]; 38: 2708–2716. Available from: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3828542/pdf/npp2013183a.pdf](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3828542/pdf/npp2013183a.pdf){:target=“_blank”}\r\n{.citation-indented}', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TA', '', 12418, 'published', True, 'Do you know of any other interesting medicinal plants that might be beneficial if they were used more globally? Let us know in the [comments](#comments) section below.', None, 'Do you know of any other interesting medicinal plants that might be beneficial if they were used more globally? Let us know in the [comments](#comments) section below.', None, 213)]])}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(116)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(257)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(93)
  return qs.first()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,3881 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '7c24b9b432fc67c4a9dd5dde62f5673c2640adb2'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(99)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(263)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(94)
  return qs.last()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5365 set_many ({'7c24b9b432fc67c4a9dd5dde62f5673c2640adb2': (1765771317.5943637, [[(1137, datetime.datetime(2022, 4, 6, 9, 58, 21, 312292, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 13, 2, 34, 519458, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 13, 2, 34, 463321, tzinfo=datetime.timezone.utc), False, '[]', 'African contributions to African history', None, 'African contributions to African history', None, '', None, None, None, 'Read our reflections on African contributions to the discipline of African history. Afterwards we will discuss your thoughts and experiences.', None, 'Read our reflections on African contributions to the discipline of African history. Afterwards we will discuss your thoughts and experiences.', None, '', 'african-contributions-to-african-history', 'For a long time, Europeans saw Africa as a continent without history. Today, the majority of historical scholarship on Africa is produced by scholars from the Global North. What are the consequences of this for our knowledge of African history?\r\n{.lead}\r\n\r\nIn recent years, similar questions have sparked important debates about the role and influence of African scholars in academic disciplines concerned with Africa (particularly in African Studies, African humanities and global health). This article focuses on African history and asks: who writes African history, why, and for whom?\r\n\r\n\r\n![Tanzanian historian Andrea Kifyasi](/media/markdownx/18340d8d-6a92-4925-b45a-4451e6827fff.jpg)\r\n\r\nTanzanian historian Andrea Kifyasi, who will share his expertise in chapter 4 of this course\r\n{.footnote}\r\n\r\n<br>\r\n\r\n#African history as a discipline and African-based historians\r\nWhile academic disciplines emerged at modern universities in 19th-century Europe, ‘African history’ as a discipline was only established with the birth of centres for African Studies after the Second World War. Colonialism brought African history to Europe. The first two chairs in the discipline were established in Britain in 1947 and in France in 1962. With African liberation struggles, African history as a discipline gained further scholarly legitimacy.\r\n\r\nFrancophone African historiography has been thriving since at least the 1980s, especially at leading universities in Dakar, Ouagadougou, Niamey, and Cotonou. In the English-speaking parts of Africa, strong history institutions developed – in South African cities – and in Dar es Salaam, Nairobi, and Ibadan since at least the 1970s and early 1980s.\r\n\r\nAfrican history written by Africans has often remained largely unrecognised beyond national borders. Many rich and promising works are published by low-profile publishing companies and thus not for sale in the Global North or overlooked because the publisher is not renowned. Others remain unpublished altogether, as is often the case with dissertations completed at African universities, which are frequently only cited by the professors who supervise them.\r\n\r\nThere are more US- and Europe-based historians than African scholars doing research on African history. Besides this being a question of financial resources, it is also a question of hiring, publishing, and digitisation policies and practices.\r\n\r\n<br>\r\n\r\n#The Publication Process, Digitisation, and Their Dangers\r\nPublication and digitisation processes can sideline African scholars, many of whom are disadvantaged in terms of financial means or professional circumstances (e.g. due to overly demanding teaching obligations) to publish in top-ranked (open-access) journals. Their work thus tends to have less visibility on a global level. African institutions often cannot afford access to top journals, leaving their scholars struggling to engage with the leading scholarship and propelling a vicious circle of exclusion. French-speaking African historians are even less frequently pub\xadlished than their English-speaking counterparts.\r\n\r\nThere has been a lively debate (for example in South Africa[^1]) on how the digitisation of archival collections benefits scholars in the Global North. Many African universities still do not have the digital technology that would allow them to publish their scholars’ publications online, which is why these contributions are likely to remain hidden in research repositories, uncirculated and unknown to the wider world[^2].\r\n\r\nWith a quick search on the internet, it is easier for students at African universities to find publications by scholars from the Global North than those by their own lecturers. These issues raise some crucial questions that have yet to be satisfactorily addressed. Why should articles published in respected journals and thus consulted more widely be considered better than research published by lesser-known outlets? Why is the research published in lesser-known journals automatically regarded as being of poorer quality? What does it mean if African scholars at institutions without subscriptions to premium e-resource packages cannot access the latest research in their respective fields? How can they be expected to actively contribute to ongoing debates?\r\n\r\nThis brings us back to our original question: Where are the Africans in African history? Frequently, professional historians in the Global North collaborate with African researchers, often in less favourable professional conditions, in various stages of the research process – conducting interviews, gathering archival sources, and interpreting, or even analysing them. There is a danger of African scholars being exploited in North-South collaborations – for instance if they are presented as “research assistants” by scholars in the Global North instead of being recognised for their intellectual input as co-authors of joint publications. Some African governments are now taking steps to level the academic playing field, to compel foreign-funded research projects hosted in the country to include a minimum quota of local researchers both during the research process as well as in relation to the dissemination of its findings.\r\n\r\nMuch promise also lies in the reemergence of local or national publishing houses, such as Langaa Research and Publishing Common Initiative Group (Cameroon), Mkuki Na Nyota Publishers (Tanzania), and Pambazuka Press (South Africa). This allows for the distribution of books at more affordable prices than those of imported books.\r\n\r\n<br>\r\n\r\n*Author: Dr Tanja Hammel*\r\n\r\n<br>\r\n\r\nReferences\r\n{.footnote-title}\r\n\r\nAllman, J. ASA (African Studies Association) 2018 Presidential Lecture - #HerskovitsMustFall? A Meditation on Whiteness, African Studies, and the Unfinished Business of 1968 [Internet]. 2018 [cited 1 December 2021]. Available from: [https://www.youtube.com/watch?v=mSb_N2Ly8VY](https://www.youtube.com/watch?v=mSb_N2Ly8VY){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nAllman, J. Rethinking African Humanities [Internet]. Africa Past & Present - The Podcast about African History, Culture, and Politics. 2018 [cited 1 December 2021]; Episode 119. Available from: [https://afripod.aodl.org/tag/jean-allman/](http://afripod.aodl.org/tag/jean-allman/){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nChuhila M J. Who Writes and Reads African History and Why? Locating African Voices in the Twenty-First Century, from 1960 to the Present. University of Dar es Salaam Journals, UTAFITI Journal of African Perspectives [Internet]. 2014–2015 [cited 1 December 2021]; 11 (1/2): 67–83. Available from: [https://journals.udsm.ac.tz/index.php/uj/article/view/1741](https://journals.udsm.ac.tz/index.php/uj/article/view/1741){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nCoquery-Vidrovith C. African Historiography in Africa. Revue Tiers Monde [Internet]. 2013 [cited 1 December 2021]; 216 (4): 111–127. Available from: [http://www.cairn-int.info/load_pdf.php?download=1&ID_ARTICLE=E_RTM_216_0111](http://www.cairn-int.info/load_pdf.php?download=1&ID_ARTICLE=E_RTM_216_0111){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nLalu P. The virtual stampede for Africa: digitisation, postcoloniality and archives of the liberation struggles in Southern Africa. Innovation [Internet]. 2007 [cited 1 December 2021]; 34: 28–44. Available from: [http://repository.uwc.ac.za/xmlui/bitstream/handle/10566/259/LaluStampede2007.pdf](http://repository.uwc.ac.za/xmlui/bitstream/handle/10566/259/LaluStampede2007.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nMkandawire T. Three Generations of African Historians: A Note. Transformation [Internet]. 1995 [cited 1 December 2021]; 28: 75–83. Available from: [http://sanweb.lib.msu.edu/DMC/African%20Journals/pdfs/transformation/tran028/tran028005.pdf](http://sanweb.lib.msu.edu/DMC/African%20Journals/pdfs/transformation/tran028/tran028005.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nPickover M. Contestations, ownership, access and ideology: policy development challenges for the digitization of African heritage and liberation archives. Presented at the First International Conference on African Digital Libraries and Archives (ICADLA-1) [Internet]. 2009 [cited 1 December 2021]. Available from: [https://core.ac.uk/download/pdf/39667845.pdf](https://core.ac.uk/download/pdf/39667845.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nPickover M. Patrimony, Power and Politics: Selecting, Constructing and Preserving\r\nDigital Heritage Content in South Africa and Africa. IFLA Library [Internet]. 2014 [cited 1 December 2021]. [http://library.ifla.org/id/eprint/1023/1/138-pickover-en.pdf](http://library.ifla.org/id/eprint/1023/1/138-pickover-en.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\n\r\n[^1]: See the works by Michele Pickover and Premesh Lalu listed in the references.\r\n[^2]: However, like a growing number of academic institutions on the continent, [the History Department at the University of Dakar makes its dissertations available online](http://ucadhisto.blogspot.com/){:target=“_blank”}.', '', 'For a long time, Europeans saw Africa as a continent without history. Today, the majority of historical scholarship on Africa is produced by scholars from the Global North. What are the consequences of this for our knowledge of African history?\r\n{.lead}\r\n\r\nIn recent years, similar questions have sparked important debates about the role and influence of African scholars in academic disciplines concerned with Africa (particularly in African Studies, African humanities and global health). This article focuses on African history and asks: who writes African history, why, and for whom?\r\n\r\n\r\n![Tanzanian historian Andrea Kifyasi](/media/markdownx/18340d8d-6a92-4925-b45a-4451e6827fff.jpg)\r\n\r\nTanzanian historian Andrea Kifyasi, who will share his expertise in chapter 4 of this course\r\n{.footnote}\r\n\r\n<br>\r\n\r\n#African history as a discipline and African-based historians\r\nWhile academic disciplines emerged at modern universities in 19th-century Europe, ‘African history’ as a discipline was only established with the birth of centres for African Studies after the Second World War. Colonialism brought African history to Europe. The first two chairs in the discipline were established in Britain in 1947 and in France in 1962. With African liberation struggles, African history as a discipline gained further scholarly legitimacy.\r\n\r\nFrancophone African historiography has been thriving since at least the 1980s, especially at leading universities in Dakar, Ouagadougou, Niamey, and Cotonou. In the English-speaking parts of Africa, strong history institutions developed – in South African cities – and in Dar es Salaam, Nairobi, and Ibadan since at least the 1970s and early 1980s.\r\n\r\nAfrican history written by Africans has often remained largely unrecognised beyond national borders. Many rich and promising works are published by low-profile publishing companies and thus not for sale in the Global North or overlooked because the publisher is not renowned. Others remain unpublished altogether, as is often the case with dissertations completed at African universities, which are frequently only cited by the professors who supervise them.\r\n\r\nThere are more US- and Europe-based historians than African scholars doing research on African history. Besides this being a question of financial resources, it is also a question of hiring, publishing, and digitisation policies and practices.\r\n\r\n<br>\r\n\r\n#The Publication Process, Digitisation, and Their Dangers\r\nPublication and digitisation processes can sideline African scholars, many of whom are disadvantaged in terms of financial means or professional circumstances (e.g. due to overly demanding teaching obligations) to publish in top-ranked (open-access) journals. Their work thus tends to have less visibility on a global level. African institutions often cannot afford access to top journals, leaving their scholars struggling to engage with the leading scholarship and propelling a vicious circle of exclusion. French-speaking African historians are even less frequently pub\xadlished than their English-speaking counterparts.\r\n\r\nThere has been a lively debate (for example in South Africa[^1]) on how the digitisation of archival collections benefits scholars in the Global North. Many African universities still do not have the digital technology that would allow them to publish their scholars’ publications online, which is why these contributions are likely to remain hidden in research repositories, uncirculated and unknown to the wider world[^2].\r\n\r\nWith a quick search on the internet, it is easier for students at African universities to find publications by scholars from the Global North than those by their own lecturers. These issues raise some crucial questions that have yet to be satisfactorily addressed. Why should articles published in respected journals and thus consulted more widely be considered better than research published by lesser-known outlets? Why is the research published in lesser-known journals automatically regarded as being of poorer quality? What does it mean if African scholars at institutions without subscriptions to premium e-resource packages cannot access the latest research in their respective fields? How can they be expected to actively contribute to ongoing debates?\r\n\r\nThis brings us back to our original question: Where are the Africans in African history? Frequently, professional historians in the Global North collaborate with African researchers, often in less favourable professional conditions, in various stages of the research process – conducting interviews, gathering archival sources, and interpreting, or even analysing them. There is a danger of African scholars being exploited in North-South collaborations – for instance if they are presented as “research assistants” by scholars in the Global North instead of being recognised for their intellectual input as co-authors of joint publications. Some African governments are now taking steps to level the academic playing field, to compel foreign-funded research projects hosted in the country to include a minimum quota of local researchers both during the research process as well as in relation to the dissemination of its findings.\r\n\r\nMuch promise also lies in the reemergence of local or national publishing houses, such as Langaa Research and Publishing Common Initiative Group (Cameroon), Mkuki Na Nyota Publishers (Tanzania), and Pambazuka Press (South Africa). This allows for the distribution of books at more affordable prices than those of imported books.\r\n\r\n<br>\r\n\r\n*Author: Dr Tanja Hammel*\r\n\r\n<br>\r\n\r\nReferences\r\n{.footnote-title}\r\n\r\nAllman, J. ASA (African Studies Association) 2018 Presidential Lecture - #HerskovitsMustFall? A Meditation on Whiteness, African Studies, and the Unfinished Business of 1968 [Internet]. 2018 [cited 1 December 2021]. Available from: [https://www.youtube.com/watch?v=mSb_N2Ly8VY](https://www.youtube.com/watch?v=mSb_N2Ly8VY){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nAllman, J. Rethinking African Humanities [Internet]. Africa Past & Present - The Podcast about African History, Culture, and Politics. 2018 [cited 1 December 2021]; Episode 119. Available from: [https://afripod.aodl.org/tag/jean-allman/](http://afripod.aodl.org/tag/jean-allman/){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nChuhila M J. Who Writes and Reads African History and Why? Locating African Voices in the Twenty-First Century, from 1960 to the Present. University of Dar es Salaam Journals, UTAFITI Journal of African Perspectives [Internet]. 2014–2015 [cited 1 December 2021]; 11 (1/2): 67–83. Available from: [https://journals.udsm.ac.tz/index.php/uj/article/view/1741](https://journals.udsm.ac.tz/index.php/uj/article/view/1741){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nCoquery-Vidrovith C. African Historiography in Africa. Revue Tiers Monde [Internet]. 2013 [cited 1 December 2021]; 216 (4): 111–127. Available from: [http://www.cairn-int.info/load_pdf.php?download=1&ID_ARTICLE=E_RTM_216_0111](http://www.cairn-int.info/load_pdf.php?download=1&ID_ARTICLE=E_RTM_216_0111){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nLalu P. The virtual stampede for Africa: digitisation, postcoloniality and archives of the liberation struggles in Southern Africa. Innovation [Internet]. 2007 [cited 1 December 2021]; 34: 28–44. Available from: [http://repository.uwc.ac.za/xmlui/bitstream/handle/10566/259/LaluStampede2007.pdf](http://repository.uwc.ac.za/xmlui/bitstream/handle/10566/259/LaluStampede2007.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nMkandawire T. Three Generations of African Historians: A Note. Transformation [Internet]. 1995 [cited 1 December 2021]; 28: 75–83. Available from: [http://sanweb.lib.msu.edu/DMC/African%20Journals/pdfs/transformation/tran028/tran028005.pdf](http://sanweb.lib.msu.edu/DMC/African%20Journals/pdfs/transformation/tran028/tran028005.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nPickover M. Contestations, ownership, access and ideology: policy development challenges for the digitization of African heritage and liberation archives. Presented at the First International Conference on African Digital Libraries and Archives (ICADLA-1) [Internet]. 2009 [cited 1 December 2021]. Available from: [https://core.ac.uk/download/pdf/39667845.pdf](https://core.ac.uk/download/pdf/39667845.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\nPickover M. Patrimony, Power and Politics: Selecting, Constructing and Preserving\r\nDigital Heritage Content in South Africa and Africa. IFLA Library [Internet]. 2014 [cited 1 December 2021]. [http://library.ifla.org/id/eprint/1023/1/138-pickover-en.pdf](http://library.ifla.org/id/eprint/1023/1/138-pickover-en.pdf){:target=“_blank”}\r\n{.citation-indented}\r\n\r\n\r\n[^1]: See the works by Michele Pickover and Premesh Lalu listed in the references.\r\n[^2]: However, like a growing number of academic institutions on the continent, [the History Department at the University of Dakar makes its dissertations available online](http://ucadhisto.blogspot.com/){:target=“_blank”}.', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TT', '', 12416, 'published', True, 'What have your experiences of collaboration, transformation, and/or marginalisation been in your discipline, field of work, research, etc.? Please share your thoughts and opinions in the [comments](#comments) section below.', None, 'What have your experiences of collaboration, transformation, and/or marginalisation been in your discipline, field of work, research, etc.? Please share your thoughts and opinions in the [comments](#comments) section below.', None, 213)]])}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(99)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(263)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(213)
  step = self.__class__.next_previous_manager.get_next_previous(is_next, self, published_only=published_only)

/app/project/lms_base/models.py in get_next_previous(94)
  return qs.last()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2941 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', '542c27005f4e84288827ce70a7d49bc73324a5e7', '5371ca290f846e75243480c35969046bdaaef31d'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.12/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in has_perm(601)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in _user_has_perm(269)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(47)
  for owner in course.owner.all():

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2864 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', '542c27005f4e84288827ce70a7d49bc73324a5e7', '5371ca290f846e75243480c35969046bdaaef31d'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.12/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in has_perm(601)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in _user_has_perm(269)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(47)
  for owner in course.owner.all():

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3223 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', '542c27005f4e84288827ce70a7d49bc73324a5e7', '5371ca290f846e75243480c35969046bdaaef31d'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.12/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in has_perm(601)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in _user_has_perm(269)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(47)
  for owner in course.owner.all():

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2958 get ('waffle:4.2.0f1f61030d824f38a8926961f0e221887',) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,3462 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'f1bf3652e0465cd93c6c9fa5536b86e586105fe4'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_step_number(99)
  chapter_list = list(self.chapter.course.published_chapters.all().order_by("order"))

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4560 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'a78e24da8e1b2daf46abc188a5169ec3faf26fda'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_step_number(108)
  step_list = list(self.chapter.published_steps.all().order_by("order"))

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4394 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '2cba4b775af45bd99b4d40c0eeea58bc34f649af', 'e06df1cc78b3869f7b4da306b81a77bad2bf4f6e'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3603 set_many ({'e06df1cc78b3869f7b4da306b81a77bad2bf4f6e': (1765771318.32269, None)}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,3289 get ('waffle:4.2.0e9e267545e7f919d987e2d016e67ed7e',) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,3313 get_many (['4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '138549f5508bbba7283d6a0625e51c589d845e8f', '53c996482f809b6652aa0a9e6be6d29ff14ecc59'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326)
  if match:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2929 get_many (['4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '138549f5508bbba7283d6a0625e51c589d845e8f', '53c996482f809b6652aa0a9e6be6d29ff14ecc59'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2678 get_many (['d00779073776b2287204a6fa5336494275fc73d5', 'a7ab6d3d5b0b8389c9b01937cd7dd1a4e453c52b'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4304 set_many ({'a7ab6d3d5b0b8389c9b01937cd7dd1a4e453c52b': (1765771318.3373156, [[(548, datetime.datetime(2022, 4, 8, 8, 22, 49, 906463, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 4, 14, 14, 9, 36, 457812, tzinfo=datetime.timezone.utc), 'English Transcript', 40, 'examining-african-contributions-to-global-health/1_5_transcript_sbA2y4e.pdf')]])}, None) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2793 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'bdf58816c23a31c1eb60ac6e7404af8ea3b882be'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(104)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(88)
  str(self.chapter.course.slug),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3265 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'c481cd8d20bbcf1e0b2a0b693cc07d3caa0ccf3e'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(104)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(88)
  str(self.chapter.course.slug),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2709 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'bdf58816c23a31c1eb60ac6e7404af8ea3b882be'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(104)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(88)
  str(self.chapter.course.slug),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2984 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'c481cd8d20bbcf1e0b2a0b693cc07d3caa0ccf3e'],) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(550)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(104)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(88)
  str(self.chapter.course.slug),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2912 get ('waffle:4.2.0e9e267545e7f919d987e2d016e67ed7e',) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

1,9656 set ('view_cache_view_/de/examining-african-contributions-to-global-health-40/what-are-african-contributions-to-global-health-213/what-is-global-health-1138_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x78830fe11400>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

Cachalot

Database 'default'

Application Model Last invalidation
django_q Failure 5 Stunden, 1 Minute
search FulltextSearchModel 5 Stunden, 1 Minute
django_q Schedule 5 Stunden, 1 Minute
lms_tales CourseMetrics 15 Stunden, 35 Minuten
reporting Report 1 Woche, 2 Tage
lms_assignment Assignment 3 Wochen, 2 Tage
lms_assignment UserAssignment 3 Wochen, 2 Tage
lms_assignment AssignmentFeedback 3 Wochen, 2 Tage
lms_ai LLMProvider 3 Wochen, 2 Tage
lms_ai LLMServiceConfig 3 Wochen, 2 Tage
lms_ai LLMTask 3 Wochen, 2 Tage
lms_roles CourseRole 3 Wochen, 2 Tage
lms_notifications Notification 3 Wochen, 2 Tage
search TrigramSearchModel 3 Wochen, 2 Tage
startpage SliderItem 3 Wochen, 2 Tage
startpage CategoryCourse 3 Wochen, 2 Tage
tags Category 3 Wochen, 2 Tage
tags Tag 3 Wochen, 2 Tage
lms_static_texts StaticText 3 Wochen, 2 Tage
lms_static_texts HistoricalStaticText 3 Wochen, 2 Tage
lms_comments Comment 3 Wochen, 2 Tage
lms_comments Reply 3 Wochen, 2 Tage
lms_comments Reaction 3 Wochen, 2 Tage
lms_comments Flag 3 Wochen, 2 Tage
lms_tales TalesStep 3 Wochen, 2 Tage
lms_tales TalesStepFileNew 3 Wochen, 2 Tage
lms_tales TalesStepFile 3 Wochen, 2 Tage
lms_tales TalesCourseFile 3 Wochen, 2 Tage
lms_tales TalesChapter 3 Wochen, 2 Tage
lms_tales TalesCourse 3 Wochen, 2 Tage
lms_tales TalesAuthor 3 Wochen, 2 Tage
lms_tales TalesPartner 3 Wochen, 2 Tage
lms_tales TalesPath 3 Wochen, 2 Tage
lms_tales TalesPathStep 3 Wochen, 2 Tage
lms_tales TalesCourseRun 3 Wochen, 2 Tage
lms_tales TalesCourseRunStep 3 Wochen, 2 Tage
lms_tales ScheduledMessage 3 Wochen, 2 Tage
lms_tales HistoricalTalesStep 3 Wochen, 2 Tage
lms_tales HistoricalTalesStepFile 3 Wochen, 2 Tage
lms_tales HistoricalTalesChapter 3 Wochen, 2 Tage
lms_tales HistoricalTalesCourse 3 Wochen, 2 Tage
lms_tales HistoricalTalesPath 3 Wochen, 2 Tage
auth Permission 3 Wochen, 2 Tage
auth Group 3 Wochen, 2 Tage
contenttypes ContentType 3 Wochen, 2 Tage
sessions Session 3 Wochen, 2 Tage
sites Site 3 Wochen, 2 Tage
flatpages FlatPage 3 Wochen, 2 Tage
admin LogEntry 3 Wochen, 2 Tage
redirects Redirect 3 Wochen, 2 Tage
account EmailAddress 3 Wochen, 2 Tage
account EmailConfirmation 3 Wochen, 2 Tage
socialaccount SocialApp 3 Wochen, 2 Tage
socialaccount SocialAccount 3 Wochen, 2 Tage
socialaccount SocialToken 3 Wochen, 2 Tage
waffle Flag 3 Wochen, 2 Tage
waffle Switch 3 Wochen, 2 Tage
waffle Sample 3 Wochen, 2 Tage
tos TermsOfService 3 Wochen, 2 Tage
tos UserAgreement 3 Wochen, 2 Tage
impersonate ImpersonationLog 3 Wochen, 2 Tage
django_q OrmQ 3 Wochen, 2 Tage
users User 3 Wochen, 2 Tage
users UserSettings 3 Wochen, 2 Tage

Signale

Signal Empfänger
class_prepared StatusField.prepare_class, add_status_query_managers, add_timeframed_query_manager, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class
connection_created
got_request_exception _got_request_exception
m2m_changed flag_membership_changed, flag_membership_changed
post_delete HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, delete_search_index, delete_search_index
post_init ModelSignalRouter.post_init_receiver, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init
post_migrate create_permissions, create_contenttypes, create_default_site, _invalidate_on_migration
post_save ModelSignalRouter.post_save_receiver, call_hook, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, create_user_settings, save_user_settings, update_search_index, update_search_index, notification_created
pre_delete clear_site_cache, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete
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, reload_settings, 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, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, update_level_tags, clear_caches, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties