Examining African Contributions to Global Health

Mis à jour en juin 2024

The history of science has largely been written from the perspective of the Global North. Therefore, the impact of the Global South has been neglected and undervalued. This course uncovers examples of the innovation and excellence that Africa has brought to global health over time.


Use African ingenuity to improve public health worldwide

Africa has been at the forefront of the fight against COVID-19, having contributed 12.8% of the technologies used to respond to the pandemic. And African countries such as Senegal also did remarkably well in managing the pandemic. As you will learn in the case studies in this course, many African countries have overcome health challenges using innovative solutions that can benefit the world. You’ll explore theories, financing solutions, and technologies from Africa that can be used to uplift health systems across the world.


Utilise the knowledge exchange of the Global South to inspire innovation

African countries have a wealth of knowledge that the Global North could benefit from. Using the knowledge from this course, you will be able to identify problems relating to clinical trials and financing in the Global North and learn from innovative approaches in Africa. You will also learn about examples of knowledge exchange in the Global South and find connections between urban planning and public health that can be used to motivate transformation in global health.


Learn with the experts in African Studies from the University of Basel

The University of Basel has a renowned Centre for African Studies, has one of the few chairs of African History in Europe, and is associated with one of the leading tropical medicine institutes in the world. The experts are best placed to guide you in your journey, to broaden your horizons, and to improve your knowledge of the history of African contributions to global health.


“Weeks”, “Chapters” and invitation to comment

Please note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in weeks rather than in chapters.

Here on Tales, we measure courses in chapters. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.

Another difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But for certain periods of time announced in advance, this course will be open to comments.

The good news is that either way, you can freely access the course and all of its contents at any time. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.

Autor:innen

Eric Nébié

Eric is MD specialised in Tropical Medicine and clinical research from Burkina Faso. His research focus on clinical trials efficiency improvement through innovative approaches.

Günther Fink

Associate Professor of Epidemiology and Household Economics, Uni Basel

Head of Household Economics and Health Systems Research Unit, Swiss TPH

Tanja Hammel

I’m a historian of knowledge and science currently working on the global history of an antimalarial drug.

Doris Osei Afriyie

I am a public health scientist pursing my PhD at the Swiss Tropical and Public Health Institute/University of Basel. My research interests are producing evidence to improve health system goals.

Christian Burri

Senior specialist in clinical and implementation research for medicines against poverty related diseases.

Akuto Konou

Akuto Akpedze Konou is a young woman licensed architect and urban planner from Togo, Africa who is currently a PhD candidate and teaching assistant at EPFL, working on Urban Agriculture and Health.

Vitor Pessoa Colombo

Vitor is a Swiss-Brazilian architect with a particular interest in the interaction between spatial planning and social development.

Andrea Azizi Kifyasi

Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.

DJDT

Versions

Paquet Nom Version
Django 4.2.17
Python 3.11.11
allauth Allauth 65.3.0.final.0
cachalot Cachalot 2.6.3
crispy_bootstrap5 Crispy_Bootstrap5 2024.10
crispy_forms Crispy_Forms 2.3
debug_toolbar Barre d'outils de débogage 4.4.6
django_extensions Django Extensions 3.2.3
django_q Django Q 1.7.4
imagekit Imagekit 5.0.0
impersonate Impersonate 1.9.4
markdownx Markdownx 4.0.7
mozilla_django_oidc Mozilla_Django_Oidc 4.0.1
notifications Notifications 1.8.3
rosetta Rosetta 0.10.1
rules Rules 3.5.0.final.1
simple_history Simple_History 3.7.0
storages Storages 1.14.4
tos Terms Of Service 1.1.0
waffle django-waffle 4.1.0

Temps

Utilisation des ressources

Ressource Valeur
Temps CPU de l'utilisateur 121.661 ms
Temps CPU du système 9.425 ms
Temps total du CPU 131.086 ms
Temps écoulé 132.633 ms
Basculements de contexte 47 volontaire, 6 involontaire

Chronologie du navigateur

Attribut mesuré Chronologie Millisecondes depuis le début de la navigation (+longueur)

Paramètres de config.settings.staging

Paramètre Valeur
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 ('rules.permissions.ObjectPermissionBackend', 'lms_base.authentication.EDUIDAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend')
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL 'users.User'
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 '7df23ad9'
CI_COMMIT_TAG ''
CRISPY_ALLOWED_TEMPLATE_PACKS 'bootstrap5'
CRISPY_TEMPLATE_PACK 'bootstrap5'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_MASKED 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 0x7b20420c51c0>}
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_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
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
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', 'users.apps.UsersConfig', 'lms_base', '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', 'storages', 'debug_toolbar')
INTERNAL_IPS ['127.0.0.1']
LANGUAGES (('de', 'Allemand'), ('en', 'Anglais'), ('fr', 'Français'))
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', '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
LOCALE_PATHS ['/app/project/config/../locale']
LOCAL_APPS ('users.apps.UsersConfig', 'lms_base', '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')
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'}, '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 'notifications.Notification'
NUMBER_GROUPING 0
OIDC_OP_AUTHORIZATION_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/authorize'
OIDC_OP_JWKS_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/keyset'
OIDC_OP_TOKEN_ENDPOINT '********************'
OIDC_OP_USER_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/userinfo'
OIDC_RP_CLIENT_ID 'unibas-tales'
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 '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
PROJECT_DIR '/app/project/config/../'
Q_CLUSTER {'catch_up': False, 'django_redis': 'default', 'name': 'QCluster', 'retry': 600, 'timeout': 500, 'workers': 4}
RELEASE_NAME ''
REQUIRE_SUPERUSER True
ROOT_URLCONF 'config.urls'
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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'
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')
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
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.11/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_DEPRECATED_PYTZ False
USE_I18N True
USE_L10N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
VIEW_CACHE_TTL 600
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'

En-têtes

En-têtes de requête

Clé Valeur
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Host nmc-tales-staging.nmc.unibas.ch
Referer https://nmc-tales-staging.nmc.unibas.ch/fr/examining-african-contributions-to-global-health-40
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
X-Forwarded-For 3.137.221.252
X-Forwarded-Host nmc-tales-staging.nmc.unibas.ch
X-Forwarded-Proto https

En-têtes de réponse

Clé Valeur
Content-Type text/html; charset=utf-8

Environnement WSGI

Comme l'environnement WSGI hérite de celui du serveur, seul un sous-ensemble pertinent est affiché ci-dessous.

Clé Valeur
PATH_INFO /fr/examining-african-contributions-to-global-health-40/
QUERY_STRING
REMOTE_ADDR 3.137.221.252
REMOTE_HOST 3.137.221.252
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 172.19.0.7
SERVER_PORT 8000

Requête

Afficher l'information

Fonction de vue Paramètres Paramètres nommés Nom d'URL
utils.decorators.cache_per_user.<locals>.decorator.<locals>.apply_cache () {'pk': 40, 'slug': 'examining-african-contributions-to-global-health'} tales:course

Pas de cookies

Pas de données de session

Aucune donnée GET

Aucune donnée POST

requêtes SQL venant de 0 connexion

Aucune requête SQL n'a été enregistrée durant cette requête.

Fichiers statiques (273 trouvé(s), 7 utilisé(s))

Chemin de fichier statique

  1. /app/project/static

Applications de fichiers statiques

  1. modeltranslation
  2. django.contrib.admin
  3. django_extensions
  4. markdownx
  5. django_htmx
  6. rosetta
  7. notifications
  8. 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.css
/app/project/static/lms_base/css/lms_base.css
lms_tales/css/lms_tales.css
None
lms_base/js/lms_base.js
/app/project/static/lms_base/js/lms_base.js
lms_tales/js/lms_tales.js
/app/project/static/lms_tales/js/lms_tales.js
images/uni-basel-logo-en.svg
/app/project/static/images/uni-basel-logo-en.svg

django.contrib.staticfiles.finders.FileSystemFinder (123 fichiers)

Chemin Emplacement
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
lms_base/font/nmc.woff /app/project/static/lms_base/font/nmc.woff
lms_base/font/icon-left.woff2 /app/project/static/lms_base/font/icon-left.woff2
lms_base/font/nmc.woff2 /app/project/static/lms_base/font/nmc.woff2
lms_base/font/nmc.eot /app/project/static/lms_base/font/nmc.eot
lms_base/font/icon-left.woff /app/project/static/lms_base/font/icon-left.woff
lms_base/font/nmc.svg /app/project/static/lms_base/font/nmc.svg
lms_base/font/icon-left.svg /app/project/static/lms_base/font/icon-left.svg
lms_base/font/nmc.ttf /app/project/static/lms_base/font/nmc.ttf
lms_base/font/icon-left.eot /app/project/static/lms_base/font/icon-left.eot
lms_base/font/icon-left.ttf /app/project/static/lms_base/font/icon-left.ttf
lms_base/css/lms_base.css /app/project/static/lms_base/css/lms_base.css
lms_base/css/lms_base.css.map /app/project/static/lms_base/css/lms_base.css.map
lms_base/js/lms_base.js /app/project/static/lms_base/js/lms_base.js
lms_base/js/bootstrap.bundle.min.js /app/project/static/lms_base/js/bootstrap.bundle.min.js
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
lms_tales/font/nmc.woff /app/project/static/lms_tales/font/nmc.woff
lms_tales/font/icon-left.woff2 /app/project/static/lms_tales/font/icon-left.woff2
lms_tales/font/nmc.woff2 /app/project/static/lms_tales/font/nmc.woff2
lms_tales/font/nmc.eot /app/project/static/lms_tales/font/nmc.eot
lms_tales/font/icon-left.woff /app/project/static/lms_tales/font/icon-left.woff
lms_tales/font/nmc.svg /app/project/static/lms_tales/font/nmc.svg
lms_tales/font/icon-left.svg /app/project/static/lms_tales/font/icon-left.svg
lms_tales/font/nmc.ttf /app/project/static/lms_tales/font/nmc.ttf
lms_tales/font/icon-left.eot /app/project/static/lms_tales/font/icon-left.eot
lms_tales/font/icon-left.ttf /app/project/static/lms_tales/font/icon-left.ttf
lms_tales/js/lms_tales.js /app/project/static/lms_tales/js/lms_tales.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 (150 fichiers)

Chemin Emplacement
modeltranslation/css/tabbed_translation_fields.css /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css
modeltranslation/js/clearable_inputs.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js
modeltranslation/js/tabbed_translation_fields.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js
modeltranslation/js/force_jquery.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js
admin/css/autocomplete.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/responsive.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/widgets.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/changelists.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/dark_mode.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dark_mode.css
admin/css/responsive_rtl.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/nav_sidebar.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/dashboard.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/forms.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/rtl.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/login.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/base.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/vendor/select2/select2.min.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
admin/css/vendor/select2/select2.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
admin/css/vendor/select2/LICENSE-SELECT2.md /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/img/icon-clock.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/sorting-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/icon-alert.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/icon-changelink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/selector-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/calendar-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/tooltag-arrowright.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/inline-delete.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/icon-yes.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/icon-unknown-alt.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/icon-viewlink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/search.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/icon-deletelink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/README.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/LICENSE /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-calendar.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/tooltag-add.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/icon-unknown.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/icon-addlink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/icon-no.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/gis/move_vertex_off.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/img/gis/move_vertex_on.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/js/SelectBox.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/jquery.init.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/inlines.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/collapse.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/collapse.js
admin/js/filters.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/filters.js
admin/js/change_form.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/autocomplete.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/nav_sidebar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/popup_response.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectFilter2.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/actions.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/core.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/cancel.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/prepopulate.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/urlify.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/calendar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/prepopulate_init.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/theme.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/theme.js
admin/js/admin/DateTimeShortcuts.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/js/vendor/select2/select2.full.js /usr/local/lib/python3.11/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.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/LICENSE.md /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/i18n/zh-CN.js /usr/local/lib/python3.11/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.11/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.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/ar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/ka.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/bn.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/select2/i18n/pt.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/hi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/dsb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/bs.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/ru.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/ms.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/et.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/sl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/he.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/is.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/cs.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/sq.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/select2/i18n/sv.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/ne.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/js/vendor/select2/i18n/ko.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/vi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/ca.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/id.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/nb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/hr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/af.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/de.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/mk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/hy.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/it.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/hu.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/ja.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/sk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/hsb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/ro.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/en.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/el.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/fa.js /usr/local/lib/python3.11/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.11/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.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/sr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/ps.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/lt.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/az.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/fr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/fi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/tk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/th.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/gl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/eu.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/es.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/km.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/bg.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/lv.js /usr/local/lib/python3.11/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.11/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.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/tr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/nl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/xregexp/xregexp.min.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/xregexp/LICENSE.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/vendor/jquery/jquery.min.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/jquery.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/jquery/LICENSE.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
django_extensions/css/jquery.autocomplete.css /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css
django_extensions/img/indicator.gif /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/img/indicator.gif
django_extensions/js/jquery.ajaxQueue.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js
django_extensions/js/jquery.autocomplete.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js
django_extensions/js/jquery.bgiframe.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js
markdownx/admin/css/markdownx.css /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.css
markdownx/admin/css/markdownx.min.css /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.min.css
markdownx/js/markdownx.min.js /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.min.js
markdownx/js/markdownx.js /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.js
django-htmx.js /usr/local/lib/python3.11/site-packages/django_htmx/static/django-htmx.js
admin/rosetta/css/rosetta.css /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/css/rosetta.css
admin/rosetta/js/rosetta.js /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/js/rosetta.js
admin/img/icon_searchbox_rosetta.png /usr/local/lib/python3.11/site-packages/rosetta/static/admin/img/icon_searchbox_rosetta.png
notifications/notify.js /usr/local/lib/python3.11/site-packages/notifications/static/notifications/notify.js
debug_toolbar/css/toolbar.css /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
debug_toolbar/css/print.css /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css
debug_toolbar/js/utils.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
debug_toolbar/js/toolbar.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/js/history.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/timer.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/redirect.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js

Gabarits (15 affichés)

Template-Pfade

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

Templates

course_home.html
/app/project/lms_tales/templates/course_home.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>}
base.html
/app/project/templates/base.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>}
components/header.html
/app/project/templates/components/header.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'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
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x7b201dc359d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x7b201dc34c50>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201dc37410>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x7b201de4c810>, <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'>]>}
course-title.html
/app/project/lms_tales/templates/course-title.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'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 0x7b2015fadf90>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7b2015fae990>, <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 '"course-title.html"'>>, <TextNode: '\n'>]>}
htmx/course-author-list.html
/app/project/lms_tales/templates/htmx/course-author-list.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Eric Nébié {.footnote-title} Eric is MD specialised in Tropical Medicine and clinical research from Burkina Faso. His research focus on clinical trials efficiency improvement through innovative approaches.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Günther Fink {.footnote-title} Associate Professor of Epidemiology and Household Economics, Uni Basel Head of Household Economics and Health Systems Research Unit, Swiss TPH>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Tanja Hammel {.footnote-title} I'm a historian of knowledge and science currently working on the global history of an antimalarial drug.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Doris Osei Afriyie {.footnote-title} I am a public health scientist pursing my PhD at the Swiss Tropical and Public Health Institute/University of Basel. My research interests are producing evidence to improve health system goals.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Christian Burri {.footnote-title} Senior specialist in clinical and implementation research for medicines against poverty related diseases.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Akuto Konou {.footnote-title} Akuto Akpedze Konou is a young woman licensed architect and urban planner from Togo, Africa who is currently a PhD candidate and teaching assistant at EPFL, working on Urban Agriculture and Health.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Vitor Pessoa Colombo {.footnote-title} Vitor is a Swiss-Brazilian architect with a particular interest in the interaction between spatial planning and social development.>}
htmx/course-author-detail.html
/app/project/lms_tales/templates/htmx/course-author-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '7df23ad9', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'fr', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7b2016175450>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'chapters': '<<multilingualqueryset of lms_tales.TalesChapter>>', 'course': <TalesCourse: Examining African Contributions to Global Health>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Learning from Africa>, 'object': <TalesCourse: Examining African Contributions to Global Health>, 'talescourse': <TalesCourse: Examining African Contributions to Global Health>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x7b201c0e69d0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b2016028510>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602af90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7b201602b310>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>, 'forloop': {'counter': 8, 'counter0': 7, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Andrea Azizi Kifyasi {.footnote-title} Lecturer and Researcher, Department of History, University of Dar es Salaam. Areas of research: Medical History, Medical Diplomacy, China-Africa Relations.>}

Processeurs de contexte

django.template.context_processors.csrf
Afficher/masquer le contexte {'csrf_token': <SimpleLazyObject: 'pW6fAZiv1CuhnhYh13X2jSYzA5dcNCBRBMvmM7aZn8NAsEyR9AuasHkD7f36yit6'>}
django.template.context_processors.debug
Afficher/masquer le contexte {}
django.template.context_processors.request
Afficher/masquer le contexte {'request': <ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>}
django.contrib.auth.context_processors.auth
Afficher/masquer le contexte {'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7b2016175450>>>)}
django.template.context_processors.i18n
Afficher/masquer le contexte {'LANGUAGES': (('de', 'Allemand'), ('en', 'Anglais'), ('fr', 'Français')), 'LANGUAGE_CODE': 'fr', 'LANGUAGE_BIDI': False}
django.template.context_processors.media
Afficher/masquer le contexte {'MEDIA_URL': '/media/'}
django.template.context_processors.static
Afficher/masquer le contexte {'STATIC_URL': '/static/'}
django.template.context_processors.tz
Afficher/masquer le contexte {'TIME_ZONE': 'Europe/Zurich'}
django.contrib.messages.context_processors.messages
Afficher/masquer le contexte {'messages': <FallbackStorage: request=<ASGIRequest: GET '/fr/examining-african-contributions-to-global-health-40/'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
utils.context_processors.ci_info
Afficher/masquer le contexte {'CI_COMMIT_TAG': '', 'CI_COMMIT_SHORT_SHA': '7df23ad9', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}

Appels au cache depuis 1 moteur

Résumé

Nombre total d'appels Temps total Succès de cache Défauts de cache
27 10,565244127064943 ms 135 1

Commandes

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 22 0 0 0 0 0 0 0

Appels

Temps (ms) Type Paramètres Paramètres nommés Moteur
0,6632 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', '2288e6f142e998339c6d4985913358f76533a29e', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', 'bf2a5aa392ac965fc14b9cc5fc8fcce588b2cf57', '9de26d60cec57eaab1ec19a62cf772073ae0e30f', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'b33158a576dd24b41063563867ce3f9044eb1acf', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '51329f4ee437847bebcfe01e681846839a46ad85', '05c5fe43455b028dee7ff3de1f3e2b4732238c9d', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '0ebfb9b35a0adaef2e2760b6f7610e296f468441', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d']),) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,2035 get ('view_cache_view_/fr/examining-african-contributions-to-global-health-40/_anonymous', None) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

0,5047 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '85c03fd1d7b06c878c15d6792f96b925bc5d9720'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

0,3861 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '85c03fd1d7b06c878c15d6792f96b925bc5d9720'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

0,3876 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '2d36d052971dd8d54b81e699726ae918d5de4eb9'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

/app/project/lms_tales/views/course_views.py in get_context_data(91)
  context["first_step"] = self.get_first_step(rules.is_staff(self.request.user))

/app/project/lms_tales/views/course_views.py in get_first_step(70)
  ).first()

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

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

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

0,3945 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '3bbcbc1768306a332ad86e64239d354c1b3fa232'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

/app/project/lms_tales/views/course_views.py in get_context_data(91)
  context["first_step"] = self.get_first_step(rules.is_staff(self.request.user))

/app/project/lms_tales/views/course_views.py in get_first_step(75)
  ).first()

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

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

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

0,3751 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2853 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2679 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2625 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2728 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2915 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,2721 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

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

/app/project/lms_tales/models.py in meta(382)
  + ", ".join([author.name for author in self.authors.all()]),

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

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

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

0,3329 get ('waffle:4.1.0a156ed0e9d07cd12e770c8dca0575feb',) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2862 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'df8ebb59433c4fbd7848a2381ffb01828a0b6f1d'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

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

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

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

0,4339 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'ac27c55d4560756cd60cfacd735a0a348187792b'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

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

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

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

0,3293 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '6e7ec3c31f4ce198c80a87e6b944c952af3a8753'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4261 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '2112fbbbb28e1cdc32d561724ec461f395c645c7'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3674 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '341c61a2919e7a30e17a48117c949d27a36494fd'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4447 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '017f1129b41de6b833a4d5a99843b8778a0cecdc'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3384 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', '542c27005f4e84288827ce70a7d49bc73324a5e7', '5371ca290f846e75243480c35969046bdaaef31d'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(32)
  for owner in course.owner.all():

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2916 get ('waffle:4.1.0f1f61030d824f38a8926961f0e221887',) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,3309 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(97)
  "or": infix(6, lambda context, x, y: x.eval(context) or y.eval(context)),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3159 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'b06bbade4c98b2e6c002b5128726be9d08c6324a'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(320)
  if match:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3510 get_many (['d144abeb0db81d5dfea390a27c6d616aa1783141', 'e3a5db5a670ad803efb866441f33de58309be2e2', '1af6dea77ff51935eb20899a041ecb0e8117a9b6'],) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(97)
  "or": infix(6, lambda context, x, y: x.eval(context) or y.eval(context)),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2516 get ('waffle:4.1.0a2399e7bcf0dfbec1385b5aae400500d',) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

1,4984 set ('view_cache_view_/fr/examining-african-contributions-to-global-health-40/_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x7b20419d72d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

Cachalot

Database 'default'

Application Model Last invalidation
django_q Failure 8 heures, 49 minutes
django_q Schedule 8 heures, 49 minutes
reporting Report 11 heures, 13 minutes
lms_tales CourseMetrics 18 heures, 19 minutes
search FulltextSearchModel 20 heures, 19 minutes
admin LogEntry 1 semaine, 6 jours
users UserSettings 2 semaines
users User 2 semaines
search TrigramSearchModel 1 mois
lms_tales HistoricalTalesCourse 1 mois
lms_tales TalesCourse 1 mois
notifications Notification 1 mois
lms_comments Reply 1 mois
impersonate ImpersonationLog 1 mois
lms_comments Comment 1 mois
lms_tales TalesCourseRun 1 mois
auth Permission 1 mois, 2 semaines
auth Group 1 mois, 2 semaines
contenttypes ContentType 1 mois, 2 semaines
sessions Session 1 mois, 2 semaines
sites Site 1 mois, 2 semaines
flatpages FlatPage 1 mois, 2 semaines
redirects Redirect 1 mois, 2 semaines
account EmailAddress 1 mois, 2 semaines
account EmailConfirmation 1 mois, 2 semaines
socialaccount SocialApp 1 mois, 2 semaines
socialaccount SocialAccount 1 mois, 2 semaines
socialaccount SocialToken 1 mois, 2 semaines
waffle Flag 1 mois, 2 semaines
waffle Switch 1 mois, 2 semaines
waffle Sample 1 mois, 2 semaines
tos TermsOfService 1 mois, 2 semaines
tos UserAgreement 1 mois, 2 semaines
django_q OrmQ 1 mois, 2 semaines
lms_base GlossaryMixin 1 mois, 2 semaines
lms_base GlossaryItemMixin 1 mois, 2 semaines
lms_tales TalesStep 1 mois, 2 semaines
lms_tales TalesStepFileNew 1 mois, 2 semaines
lms_tales TalesStepFile 1 mois, 2 semaines
lms_tales TalesCourseFile 1 mois, 2 semaines
lms_tales TalesChapter 1 mois, 2 semaines
lms_tales TalesAuthor 1 mois, 2 semaines
lms_tales TalesPartner 1 mois, 2 semaines
lms_tales TalesGlossaryItem 1 mois, 2 semaines
lms_tales TalesPath 1 mois, 2 semaines
lms_tales TalesPathStep 1 mois, 2 semaines
lms_tales TalesPortalPage 1 mois, 2 semaines
lms_tales TalesPortalPageCourse 1 mois, 2 semaines
lms_tales TalesCourseRunStep 1 mois, 2 semaines
lms_tales ScheduledMessage 1 mois, 2 semaines
lms_tales HistoricalTalesStep 1 mois, 2 semaines
lms_tales HistoricalTalesStepFile 1 mois, 2 semaines
lms_tales HistoricalTalesChapter 1 mois, 2 semaines
lms_tales HistoricalTalesPath 1 mois, 2 semaines
lms_tales HistoricalTalesPortalPage 1 mois, 2 semaines
lms_comments Reaction 1 mois, 2 semaines
lms_comments Flag 1 mois, 2 semaines
lms_static_texts StaticText 1 mois, 2 semaines
lms_static_texts HistoricalStaticText 1 mois, 2 semaines
tags Category 1 mois, 2 semaines
tags Tag 1 mois, 2 semaines
startpage SliderItem 1 mois, 2 semaines
startpage CategoryCourse 1 mois, 2 semaines

Signaux

Signal Receveurs
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, 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, 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, ImageField.update_dimension_fields, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, 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, delete_mt_init, MonitorField._save_initial, 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, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, call_hook, create_user_settings, save_user_settings, update_search_index, update_search_index
pre_delete clear_site_cache
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save clear_site_cache
request_finished close_old_connections, close_caches, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, reload_settings, 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, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, update_level_tags, clear_caches, FileSystemStorage._clear_cached_properties, 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