The Resistant Mosquito

Staying Ahead of the Game in the Fight against Malaria

Mis à jour en janvier 2025

Malaria has been the scourge of humanity for too long. Ever since scientists at the end of the 19th century discovered that the malaria parasite is transmitted by mosquitoes, controlling the ‘malaria mosquitoes’ has been the most effective tool against malaria. Yet as recently as 2020, there were still 241 million cases of malaria globally, and at least 627,000 deaths, the majority in sub-Saharan Africa.

In the last twenty years, there has been a significant increase in mosquito control interventions. The development and mass distribution of long-lasting insecticide-treated mosquito bed nets offered protection to millions of people from the bites of malaria-infected mosquitoes. Along with increased access to effective drugs to treat malaria and improved diagnostic tests, remarkable progress has been made in reducing the burden of malaria, bringing us closer to the goal of eliminating this disease.

However, malaria mosquitoes are becoming resistant to the insecticides that have been so effective at controlling them. This course will look at why and how this is happening, its impact, and what can be practically done to address it. This helps us to remain ahead of the game in the fight against malaria.


“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.

Lizenz

University of Basel

Autor:innen

Duncan K. Athinya dka@vestergaard.com

Elizabeth Chizema EChizema@alma2030.org

Kwame Desewu kdesewu@agamal.org

Armel Djenontin armeldj@yahoo.fr

Christen Fornadel Christen.Fornadel@ivcc.com

Sebastian Horstmann sebastian.horstmann@bayer.com

Silvie Huijben shuijben@asu.edu

Ravindra Jayanetti ravindrajayanetti@yahoo.com

Jan Kolaczinski kolaczinskij@who.int

Prisca Kweyamba pkweyamba@ihi.or.tz

Michael Macdonald macdonaldm@macito.net

Keziah L. Malm kezmalm@yahoo.com

Eric O. Ochomo ericochomo@yahoo.com

Fredros Okumu fredros@ihi.or.tz

Chadwick Sikaala csikaala@sadce8.org

Raman Velayudhan VelayudhanR@who.int

DJDT

Versions

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

Temps

Utilisation des ressources

Ressource Valeur
Temps CPU de l'utilisateur 207.508 ms
Temps CPU du système 14.966 ms
Temps total du CPU 222.474 ms
Temps écoulé 225.326 ms
Basculements de contexte 34 volontaire, 3 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 '********************'
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL '********************'
BASE_DIR '/app/project/config/../'
CACHALOT_ENABLED True
CACHES {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CI_COMMIT_SHORT_SHA '21e92357'
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_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 0x76f3850d7420>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.AutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FROM_EMAIL 'contact-nmc@unibas.ch'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DEPLOY_ENV 'staging'
DISALLOWED_USER_AGENTS []
DJANGO_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize')
DJANGO_NOTIFICATIONS_CONFIG {'USE_JSONFIELD': True}
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'smtp.unibas.ch'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER ''
EMAIL_PORT 25
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL False
EMAIL_USE_TLS False
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORMS_URLFIELD_ASSUME_HTTPS False
FORM_RENDERER 'django.forms.renderers.TemplatesSetting'
IGNORABLE_404_URLS []
IMAGEKIT_CACHEFILE_DIR 'CACHE/images'
IMAGEKIT_CACHEFILE_NAMER 'imagekit.cachefiles.namers.hash'
IMAGEKIT_CACHE_BACKEND 'default'
IMAGEKIT_CACHE_PREFIX 'imagekit:'
IMAGEKIT_CACHE_TIMEOUT 300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND 'imagekit.cachefiles.backends.Simple'
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY 'imagekit.cachefiles.strategies.JustInTime'
IMAGEKIT_DEFAULT_FILE_STORAGE 'default'
IMAGEKIT_SPEC_CACHEFILE_NAMER 'imagekit.cachefiles.namers.source_name_as_path'
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY '********************'
INSTALLED_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'django_filters', 'users.apps.UsersConfig', 'lms_base.apps.LmsBaseConfig', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'lms_ai.apps.LMSAiConfig', 'lms_assignment.apps.LMSAssignmentConfig', 'debug_toolbar')
INTERNAL_IPS ['127.0.0.1']
LANGUAGES (('de', 'Allemand'), ('en', 'Anglais'), ('fr', 'Français'))
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE 'de'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LANGUAGE_PUBLICATION_ENABLED True
LINKCHECKER_CHECK_EXTERN True
LINKCHECKER_IGNORE_PATTERNS ['.*/admin/.*', '.*/oidc/authenticate/\\?next=.*']
LINKCHECKER_MAX_RETRIES 3
LINKCHECKER_NO_FOLLOW_PATTERNS ['^https?://(?!nmc-tales-staging\\.nmc\\.unibas\\.ch/).*']
LINKCHECKER_RECURSION_LEVEL -1
LINKCHECKER_RETRY_DELAY 30
LINKCHECKER_TIMEOUT 10
LINKCHECKER_URL 'https://nmc-tales-staging.nmc.unibas.ch/'
LINKCHECKER_USER_AGENT 'Tales-LinkChecker/1.0'
LOCALE_PATHS ['/app/project/config/../locale']
LOCAL_APPS ('users.apps.UsersConfig', 'lms_base.apps.LmsBaseConfig', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'lms_ai.apps.LMSAiConfig', 'lms_assignment.apps.LMSAssignmentConfig')
LOGGING {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'lms_ai': {'handlers': ['console'], 'level': 'DEBUG'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/'
LOGIN_URL 'account_login'
LOGOUT_REDIRECT_URL '/'
MANAGERS []
MARKDOWNX_EDITOR_RESIZABLE True
MARKDOWNX_IMAGE_MAX_SIZE {'quality': 90, 'size': (1920, 5600)}
MARKDOWNX_MARKDOWNIFY_FUNCTION 'lms_base.utils.markdownify'
MARKDOWNX_MARKDOWN_EXTENSIONS ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension']
MARKDOWNX_MEDIA_PATH 'markdownx/'
MARKDOWNX_UPLOAD_URLS_PATH '/markdownx/upload/'
MARKDOWNX_URLS_PATH '/markdownx/markdownify/'
MEDIA_ROOT '/app/project/media'
MEDIA_URL '/media/'
MESSAGE_REAPPEAR_TIME 600
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
MIGRATION_MODULES {'tos': 'lms_tales.migrate.tos'}
MODELTRANSLATION_CUSTOM_FIELDS ('JSONField',)
MODELTRANSLATION_DEFAULT_LANGUAGE 'de'
MODELTRANSLATION_FALLBACK_LANGUAGES ('de', 'en', 'fr')
MONTH_DAY_FORMAT 'F j'
NOTIFICATIONS_NOTIFICATION_MODEL 'lms_notifications.Notification'
NUMBER_GROUPING 0
OIDC_OP_AUTHORIZATION_ENDPOINT '********************'
OIDC_OP_JWKS_ENDPOINT 'https://login.eduid.ch/idp/profile/oidc/keyset'
OIDC_OP_TOKEN_ENDPOINT '********************'
OIDC_OP_USER_ENDPOINT 'https://login.eduid.ch/idp/profile/oidc/userinfo'
OIDC_RP_CLIENT_ID 'unibas-tales-staging'
OIDC_RP_CLIENT_SECRET '********************'
OIDC_RP_SCOPES 'openid email profile https://login.eduid.ch/authz/User.Read'
OIDC_RP_SIGN_ALGO 'RS256'
OIDC_TOKEN_USE_BASIC_AUTH '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
PROJECT_DIR '/app/project/config/../'
Q_CLUSTER {'catch_up': False, 'django_redis': 'default', 'max_attempts': 5, 'name': 'QCluster', 'recycle': 50, 'retry': 3700, 'timeout': 3600, 'workers': 2}
REDIS_STREAM_MAX_LENGTH 1000
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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'
SSE_HEARTBEAT_SEC 15
SSE_RETRY_MS 5000
STAGING_EMAIL_RECIPIENTS ['notifications-nmc@unibas.ch']
STATICFILES_DIRS ['/app/project/config/../static']
STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
STATIC_ROOT '/app/project/config/../../staticfiles'
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TALES_BASE_URL 'https://tales.nmc.unibas.ch'
TALES_VERSION 'dev'
TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.12/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THIRD_PARTY_APPS ('debug_toolbar',)
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'Europe/Zurich'
USER_DEACTIVATION_AFTER_DAYS 730
USER_DELETION_AFTER_DAYS 912
USE_I18N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
VIEW_CACHE_TTL 600
WAFFLE_CREATE_MISSING_FLAGS True
WAFFLE_CREATE_MISSING_SAMPLES True
WAFFLE_CREATE_MISSING_SWITCHES True
WAFFLE_LOG_MISSING_FLAGS 30
WAFFLE_LOG_MISSING_SAMPLES 30
WAFFLE_LOG_MISSING_SWITCHES 30
WSGI_APPLICATION 'config.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

En-têtes

En-têtes de requête

Clé Valeur
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Cookie => see Request panel
Host nmc-tales-staging.nmc.unibas.ch
Referer https://nmc-tales-staging.nmc.unibas.ch/fr/the-resistant-mosquito-43
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Via 2.0 Caddy
X-Forwarded-For 216.73.216.142
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/the-resistant-mosquito-43/
QUERY_STRING
REMOTE_ADDR 172.19.0.2
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 8000
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE gunicorn/23.0.0

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': 43, 'slug': 'the-resistant-mosquito'} tales:course

Cookies

Variable Valeur
'csrftoken' '********************'
'sessionid' '********************'

Données de session

Variable Valeur
'oidc_login_next' '/de/stimmen-der-ahnengeister-59/erleben-3-288/fotografische-reise-bei-den-iatmul-1713'
'oidc_states' {'0mF3Eb28d0falqUoLt36U3X30oeB14Zk': {'added_on': 1757897047.7289264, 'code_verifier': None, 'nonce': 'xEzz6O1ezPyfp9twkiHsjRFzpyfhouBp'}}

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 (298 trouvé(s), 7 utilisé(s))

Chemin de fichier statique

  1. /app/project/static

Applications de fichiers statiques

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

Statische Dateien

images/icon_tales_white.png
/app/project/static/images/icon_tales_white.png
images/icon_tales_transp.png
/app/project/static/images/icon_tales_transp.png
lms_base/css/lms_base_main.css
/app/project/lms_base/static/lms_base/css/lms_base_main.css
lms_tales/css/lms_tales.css
None
lms_base/js/lms_base.js
/app/project/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 (127 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/5bb74ee4-4a67-417b-ae1a-b917bf83946f.woff2 /app/project/static/lms_base/font/5bb74ee4-4a67-417b-ae1a-b917bf83946f.woff2
lms_base/font/864f8bdc-1a42-4d28-97a5-c15513fd193b.woff2 /app/project/static/lms_base/font/864f8bdc-1a42-4d28-97a5-c15513fd193b.woff2
lms_base/font/icon-left.woff2 /app/project/static/lms_base/font/icon-left.woff2
lms_base/font/4201a9f6-3b6a-4b16-8b4d-39f514509601.woff2 /app/project/static/lms_base/font/4201a9f6-3b6a-4b16-8b4d-39f514509601.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/70b47997-f7be-4ac4-9cb3-59f94b71dbe9.woff2 /app/project/static/lms_base/font/70b47997-f7be-4ac4-9cb3-59f94b71dbe9.woff2
lms_base/font/nmc.svg /app/project/static/lms_base/font/nmc.svg
lms_base/font/631ae528-b46d-426d-953b-02e858a339eb.woff2 /app/project/static/lms_base/font/631ae528-b46d-426d-953b-02e858a339eb.woff2
lms_base/font/1417c77f-aed3-4e96-a236-a666c8eb9879.woff2 /app/project/static/lms_base/font/1417c77f-aed3-4e96-a236-a666c8eb9879.woff2
lms_base/font/icon-left.svg /app/project/static/lms_base/font/icon-left.svg
lms_base/font/c5f91eda-7bd6-4dda-920e-a8aca7f11884.woff2 /app/project/static/lms_base/font/c5f91eda-7bd6-4dda-920e-a8aca7f11884.woff2
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/js/lms_base.js /app/project/static/lms_base/js/lms_base.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 (171 fichiers)

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

Gabarits (39 affichés)

Template-Pfade

  1. /app/project/templates
  2. /usr/local/lib/python3.12/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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>}
base.html
/app/project/templates/base.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>}
components/header.html
/app/project/templates/components/header.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x76f3613be390>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x76f3613361b0>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3610e6510>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x76f3610e7f80>, <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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'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 0x76f36133ede0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x76f361336cc0>, <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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Duncan K. Athinya [dka@vestergaard.com](mailto:dka@vestergaard.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Konstantina Boutsika [konstantina.boutsika@swisstph.ch](mailto:konstantina.boutsika@swisstph.ch)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Elizabeth Chizema [EChizema@alma2030.org](mailto:EChizema@alma2030.org)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Kwame Desewu [kdesewu@agamal.org](mailto:kdesewu@agamal.org)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Armel Djenontin [armeldj@yahoo.fr](mailto:armeldj@yahoo.fr)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Christen Fornadel [Christen.Fornadel@ivcc.com](mailto: Christen.Fornadel@ivcc.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Ian Hastings [Ian.Hastings@lstmed.ac.uk](mailto:Ian.Hastings@lstmed.ac.uk)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Lina Heltsche [lina.heltsche@swisstph.ch](mailto:lina.heltsche@swisstph.ch)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Mark Hoppé [mark.hoppe@syngenta.com](mailto:mark.hoppe@syngenta.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Sebastian Horstmann [sebastian.horstmann@bayer.com](mailto:sebastian.horstmann@bayer.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Silvie Huijben [shuijben@asu.edu](mailto:shuijben@asu.edu)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Helen Jamet [Helen.Jamet@gatesfoundation.org](mailto:Helen.Jamet@gatesfoundation.org)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Ravindra Jayanetti [ravindrajayanetti@yahoo.com](mailto:ravindrajayanetti@yahoo.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Kevin Keyaert [kevin.keyaert@gmail.com](mailto:kevin.keyaert@gmail.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Jan Kolaczinski [kolaczinskij@who.int](mailto:kolaczinskij@who.int)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Prisca Kweyamba [pkweyamba@ihi.or.tz](mailto:pkweyamba@ihi.or.tz)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Michael Macdonald [macdonaldm@macito.net](mailto: macdonaldm@macito.net)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Keziah L. Malm [kezmalm@yahoo.com](mailto:kezmalm@yahoo.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: David McGuire [David.McGuire@ivcc.com](mailto:David.McGuire@ivcc.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Pie Müller [pie.mueller@swisstph.ch](mailto:pie.mueller@swisstph.ch)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Eric O. Ochomo [ericochomo@yahoo.com](mailto:ericochomo@yahoo.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Fredros Okumu [fredros@ihi.or.tz](mailto:fredros@ihi.or.tz)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Andrew Saibu [Andrew.Saibu@ivcc.com](mailto:Andrew.Saibu@ivcc.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Chadwick Sikaala [csikaala@sadce8.org](mailto:csikaala@sadce8.org)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Tobias Suter [tobias.suter@swisstph.ch](mailto:tobias.suter@swisstph.ch)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Raman Velayudhan [VelayudhanR@who.int](mailto:VelayudhanR@who.int)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Barbara Wedel [barbara.wedel@basf.com](mailto:barbara.wedel@basf.com)>}
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': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>}
htmx/course-partner-list.html
/app/project/lms_tales/templates/htmx/course-partner-list.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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': '<<queryset of lms_tales.TalesPartner>>'}
htmx/course-partner-detail.html
/app/project/lms_tales/templates/htmx/course-partner-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: Partner>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/Swiss_TPH_for_Tales_1024x1024/59994c1548a824b17c92ea4701e04f98.jpg>}
htmx/course-partner-detail.html
/app/project/lms_tales/templates/htmx/course-partner-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/UK_Aid_for_Tales_1024x1024/8afb35babeb0d7abb19cfdd89654000d.jpg>}
htmx/course-partner-detail.html
/app/project/lms_tales/templates/htmx/course-partner-detail.html
Afficher/masquer le contexte {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '21e92357', '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: ' "'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>", 'messages': <FallbackStorage: request=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x76f3610e5a00>>>'} {'active_courseruns': [], 'active_language_available': False, 'available_languages': [('en', 'Anglais')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x76f3610e6ff0>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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 0x76f361384ef0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f3613852e0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x76f361385c10>, <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': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/IVCC_for_Tales_1024x1024/fee9564244c26cdf70a02d8c1e0a7f78.jpg>}

Processeurs de contexte

django.template.context_processors.csrf
Afficher/masquer le contexte {'csrf_token': <SimpleLazyObject: 'iUxdV9K2ysSz6s32iREqkBwRKtzvESLgaKQ2TwA9R8hG0bGJBqTpDEHG9EvbydF2'>}
django.template.context_processors.debug
Afficher/masquer le contexte {}
django.template.context_processors.request
Afficher/masquer le contexte {'request': <WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>}
django.contrib.auth.context_processors.auth
Afficher/masquer le contexte {'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x76f3610e5a00>>>)}
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=<WSGIRequest: GET '/fr/the-resistant-mosquito-43/'>>, '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': '21e92357', '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
34 15,032949508167803 ms 133 4

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 9 4 0 0 0 0 21 0 0 0 0 0 0 0

Appels

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,4139 get ('view_cache_view_/fr/the-resistant-mosquito-43/_anonymous', None) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,4418 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '75ebd9565a0460f766adb9d87cc373208d86defc'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3504 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '75ebd9565a0460f766adb9d87cc373208d86defc'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3557 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '6fd919d03d7e7ee35b84295d8308838c9b12284e'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_tales/views/course_views.py in get_context_data(85)
  context["first_step"] = self.get_first_step(

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

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

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

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

0,3421 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', 'd91639f531005f0f0c4c8f8408a7d162571eb626'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_tales/views/course_views.py in get_context_data(85)
  context["first_step"] = self.get_first_step(

/app/project/lms_tales/views/course_views.py in get_first_step(74)
  first_step = chapi.steps.filter(is_removed=False, status__exact=StatusMixin.STATUS.published).first()

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

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

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

0,4032 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3662 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,4030 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3576 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3307 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,3915 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,4109 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(375)
  + ", ".join([author.name for author in self.authors.all()]),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4120 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '7066815cb1001b3e1af98044b0ef017b370a8550'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,6783 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '0b40896e135f4a5241f4cdac2d52136bae8b6dd5'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,7397 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '433d7b7ef9b9e33d9d2d16eca3c4cfa97fb22d63'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5975 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '7302c772c6a7c7eb5a4a8bf017806bbc9b7c4b5f'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(199)
  len_values = len(values)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4131 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '542c27005f4e84288827ce70a7d49bc73324a5e7', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', '4ed6c3ea8526d7b07da2ad1316d0773ee2a3c30b'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/library.py in render(321)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.12/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in has_perm(601)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.12/site-packages/django/contrib/auth/models.py in _user_has_perm(269)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.12/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(47)
  for owner in course.owner.all():

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3858 get ('waffle:4.2.0f1f61030d824f38a8926961f0e221887',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,4855 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(98)
  "or": infix(6, lambda context, x, y: x.eval(context) or y.eval(context)),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4087 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', '72d68115ac91d97bee66669f443156ae0ddc4eca'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326)
  if match:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,5138 get_many (['d144abeb0db81d5dfea390a27c6d616aa1783141', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'ceef579ec3c89a6affe0d0eea10fc34862c467fb'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320)
  match = condition.eval(context)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in eval(61)
  return func(context, self.first, self.second)

/usr/local/lib/python3.12/site-packages/django/template/smartif.py in <lambda>(98)
  "or": infix(6, lambda context, x, y: x.eval(context) or y.eval(context)),

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4086 get_many (['d144abeb0db81d5dfea390a27c6d616aa1783141', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'ceef579ec3c89a6affe0d0eea10fc34862c467fb'],) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326)
  if match:

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101)
  return _get_result_or_execute_query(

/usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3592 get ('waffle:4.2.02f7d9a59decb44af23c12afe7487e38f',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2597 get ('imagekit:CACHE/images/the-resistant-mosquito/Swiss_TPH_for_Tales_1024x1024/59994c1548a824b17c92ea4701e04f98.jpg-state',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68)
  state = self.cache.get(key)

0,3086 set ('imagekit:CACHE/images/the-resistant-mosquito/Swiss_TPH_for_Tales_1024x1024/59994c1548a824b17c92ea4701e04f98.jpg-state', 'exists', 300) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(72)
  self.set_state(file, state)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in set_state(80)
  self.cache.set(key, state, settings.IMAGEKIT_CACHE_TIMEOUT)

0,2969 get ('waffle:4.2.02f7d9a59decb44af23c12afe7487e38f',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2304 get ('imagekit:CACHE/images/the-resistant-mosquito/UK_Aid_for_Tales_1024x1024/8afb35babeb0d7abb19cfdd89654000d.jpg-state',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68)
  state = self.cache.get(key)

0,2827 set ('imagekit:CACHE/images/the-resistant-mosquito/UK_Aid_for_Tales_1024x1024/8afb35babeb0d7abb19cfdd89654000d.jpg-state', 'exists', 300) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(72)
  self.set_state(file, state)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in set_state(80)
  self.cache.set(key, state, settings.IMAGEKIT_CACHE_TIMEOUT)

0,2889 get ('waffle:4.2.02f7d9a59decb44af23c12afe7487e38f',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2493 get ('imagekit:CACHE/images/the-resistant-mosquito/IVCC_for_Tales_1024x1024/fee9564244c26cdf70a02d8c1e0a7f78.jpg-state',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68)
  state = self.cache.get(key)

0,3139 set ('imagekit:CACHE/images/the-resistant-mosquito/IVCC_for_Tales_1024x1024/fee9564244c26cdf70a02d8c1e0a7f78.jpg-state', 'exists', 300) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210)
  return template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(173)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327)
  return nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(38)
  return self.nodelist_false.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722)
  obj = self.var.resolve(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901)
  current = getattr(current, bit)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89)
  return self._storage_attr('url')

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79)
  existence_required.send(sender=self, file=self)

/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189)
  response = receiver(signal=self, sender=sender, **named)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73)
  return receiver(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53)
  self._receive(file, 'on_existence_required')

/usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61)
  call_strategy_method(file, callback)

/usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119)
  fn(file)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11)
  file.generate()

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98)
  self.cachefile_backend.generate(self, force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111)
  self.generate_now(file, force=force)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96)
  if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(72)
  self.set_state(file, state)

/usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in set_state(80)
  self.cache.set(key, state, settings.IMAGEKIT_CACHE_TIMEOUT)

0,3358 get ('waffle:4.2.0a2399e7bcf0dfbec1385b5aae400500d',) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.12/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107)
  return self.template.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(171)
  return self._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114)
  return self.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977)
  return self.render(context)

/usr/local/lib/python3.12/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.12/site-packages/waffle/__init__.py in flag_is_active(18)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.12/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

1,7728 set ('view_cache_view_/fr/the-resistant-mosquito-43/_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x76f3836db440>
/usr/local/bin/gunicorn in <module>(10)
  sys.exit(run())

/usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235)
  super().run()

/usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71)
  Arbiter(self).run()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201)
  self.manage_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570)
  self.spawn_workers()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641)
  self.spawn_worker()

/usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608)
  worker.init_process()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143)
  self.run()

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125)
  self.run_for_one(timeout)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69)
  self.accept(listener)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31)
  self.handle(listener, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177)
  respiter = self.wsgi(environ, resp.start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191)
  return middleware(environ, start_response)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131)
  response = self.app(

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477)
  rv = old_get_response(self, request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(33)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(172)
  response = self.get_response(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(68)
  cache.set(CACHE_KEY, response.render(), ttl)

Cachalot

Database 'default'

Application Model Last invalidation
django_q Failure 2 heures, 43 minutes
search FulltextSearchModel 2 heures, 43 minutes
django_q Schedule 2 heures, 43 minutes
lms_tales CourseMetrics 13 heures, 18 minutes
reporting Report 1 jour, 22 heures
admin LogEntry 2 semaines, 6 jours
lms_assignment Assignment 2 semaines, 6 jours
lms_assignment UserAssignment 3 semaines, 2 jours
lms_assignment AssignmentFeedback 3 semaines, 2 jours
lms_ai LLMProvider 3 semaines, 2 jours
lms_ai LLMServiceConfig 3 semaines, 2 jours
lms_ai LLMTask 3 semaines, 2 jours
lms_roles CourseRole 3 semaines, 2 jours
lms_notifications Notification 3 semaines, 2 jours
search TrigramSearchModel 3 semaines, 2 jours
startpage SliderItem 3 semaines, 2 jours
startpage CategoryCourse 3 semaines, 2 jours
tags Category 3 semaines, 2 jours
tags Tag 3 semaines, 2 jours
lms_static_texts StaticText 3 semaines, 2 jours
lms_static_texts HistoricalStaticText 3 semaines, 2 jours
lms_comments Comment 3 semaines, 2 jours
lms_comments Reply 3 semaines, 2 jours
lms_comments Reaction 3 semaines, 2 jours
lms_comments Flag 3 semaines, 2 jours
lms_tales TalesStep 3 semaines, 2 jours
lms_tales TalesStepFileNew 3 semaines, 2 jours
lms_tales TalesStepFile 3 semaines, 2 jours
lms_tales TalesCourseFile 3 semaines, 2 jours
lms_tales TalesChapter 3 semaines, 2 jours
lms_tales TalesCourse 3 semaines, 2 jours
lms_tales TalesAuthor 3 semaines, 2 jours
lms_tales TalesPartner 3 semaines, 2 jours
lms_tales TalesPath 3 semaines, 2 jours
lms_tales TalesPathStep 3 semaines, 2 jours
lms_tales TalesCourseRun 3 semaines, 2 jours
lms_tales TalesCourseRunStep 3 semaines, 2 jours
lms_tales ScheduledMessage 3 semaines, 2 jours
lms_tales HistoricalTalesStep 3 semaines, 2 jours
lms_tales HistoricalTalesStepFile 3 semaines, 2 jours
lms_tales HistoricalTalesChapter 3 semaines, 2 jours
lms_tales HistoricalTalesCourse 3 semaines, 2 jours
lms_tales HistoricalTalesPath 3 semaines, 2 jours
auth Permission 3 semaines, 2 jours
auth Group 3 semaines, 2 jours
contenttypes ContentType 3 semaines, 2 jours
sessions Session 3 semaines, 2 jours
sites Site 3 semaines, 2 jours
flatpages FlatPage 3 semaines, 2 jours
redirects Redirect 3 semaines, 2 jours
account EmailAddress 3 semaines, 2 jours
account EmailConfirmation 3 semaines, 2 jours
socialaccount SocialApp 3 semaines, 2 jours
socialaccount SocialAccount 3 semaines, 2 jours
socialaccount SocialToken 3 semaines, 2 jours
waffle Flag 3 semaines, 2 jours
waffle Switch 3 semaines, 2 jours
waffle Sample 3 semaines, 2 jours
tos TermsOfService 3 semaines, 2 jours
tos UserAgreement 3 semaines, 2 jours
impersonate ImpersonationLog 3 semaines, 2 jours
django_q OrmQ 3 semaines, 2 jours
users User 3 semaines, 2 jours
users UserSettings 3 semaines, 2 jours

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
connection_created
got_request_exception _got_request_exception
m2m_changed flag_membership_changed, flag_membership_changed
post_delete HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, delete_search_index, delete_search_index
post_init ModelSignalRouter.post_init_receiver, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init
post_migrate create_permissions, create_contenttypes, create_default_site, _invalidate_on_migration
post_save ModelSignalRouter.post_save_receiver, call_hook, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, create_user_settings, save_user_settings, update_search_index, update_search_index, notification_created
pre_delete clear_site_cache, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save clear_site_cache
request_finished close_old_connections, close_caches, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, reload_settings, Settings.change_setting, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, form_renderer_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, update_level_tags, clear_caches, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties