DAS BESSERE BILD CHRISTI

1.2

Christus erkennen

Was Erasmus mit seiner Ausgabe erreichen wollte

Der Ausstellungstitel «Das bessere Bild Christi» folgt einem Diktum des Erasmus, der wiederholt festhielt, die Schriften des Neuen Testaments böten ein getreueres, ja gar anschaulicheres Bild von Jesus Christus als alle Werke der bildenden Kunst.

Jesusstatue Der auferstandene Christus aus der Pfarrkirche Klingnau, 16. Jh. (Siehe auch Kapitel 5.1, Vitrine im Zentrum)

In seinem berühmten satirischen Werk Lob der Torheit mokiert Erasmus sich darüber, «dass man ein Bildchen, das mit Kohle an eine Wand gezeichnet ist, mit derselben Verehrung anbeten muss wie Christus selbst, sobald darauf zwei ausgestreckte Finger und wallende Locken und im Heiligenschein am Hinterkopf drei Strahlenbündel zu sehen sind» – ein Bildtypus, der sich auch heute noch einer gewissen Beliebtheit erfreut.

Erasmus missbilligte die Verehrung von Bildern nicht grundsätzlich, aber er war überzeugt, dass das bessere Bild Christi in den Texten des Neuen Testaments überliefert sei. So sagte er in einer anderen Schrift: «Du erweist also einem grob in Stein oder Holz gehauenen oder mit Farben gepinselten Abbild des Antlitzes Christi Ehre. Viel frömmer wäre es, das Bild seines Geistes zu ehren, das durch den Heiligen Geist in den Schriften des Evangeliums wiedergegeben ist. Kein Apelles [der berühm­teste Maler der Antike] bildet so mit dem Pinsel die Züge und die Gestalt des Körpers nach, wie uns in der Rede eines jeden das Bild seines Geistes entgegenleuchtet, zumal bei Christus. Da er die höchste Wahrheit ist, kann es keine Unähnlichkeit zwischen dem Urbild des göttlichen Herzens und dem davon hergeleiteten Bild der Rede geben. … Du glaubst, es sei das Grösste, dass du zu Hause ein Stücklein des Kreuzes besitzest. Doch das ist nichts im Vergleich dazu, dass du das Geheimnis des Kreuzes in dir trägst.»

Hinter dem hier abgekürzt zitierten Text stehen drei Grundüberzeugungen des Erasmus, nämlich zum ersten die sogenannte Christus/Logos-Theologie, die am besten vom Anfang des Johan­nes­evan­ge­liums bekannt ist: «Im Anfang war das Wort, und das Wort war bei Gott, und das Wort war Gott.» Erasmus führt aus, dass demnach Jesus Christus als Gottes Sohn ebenso auch Gottes ‛Wort’ ist. Der griechische Begriff logos hat allerdings ein viel breiteres Bedeutungsspektrum als das deutsche Wort oder auch das lateinische verbum, durch die logos normalerweise wiedergegeben wird. Erasmus zog hier wie im oben zitierten Text das lateinische sermo (Sprache, Gespräch, Rede) vor, das besser als verbum zum Ausdruck bringt, dass Gott die Menschen eben an-spricht: in seiner ‛Rede’ offenbart er sich ihnen. Die heiligen Schriften – Erasmus nennt sie «geheimnisvoll» – müssen Begriffe aus unserer Wahrnehmungswelt benützen, um das Unvorstellbare darzustellen. Und wie also Gott in den Schriften des Alten und Neuen Testaments den Menschen mit seinem Wort das Unsagbare mitteilen will, so will er ihnen in Gestalt seines Sohnes das Unfassbare begreiflich machen.

Eng damit zusammen hängt der zweite Gedanke: Für Erasmus ist der innere Mensch, nicht seine äussere Erscheinung, der eigentliche Mensch, und sein Wesen offenbart sich in seiner Rede (lateinisch sermo).
Dazu erzählt er die Anekdote von Sokrates, der, um sein Urteil über einen jungen Mann gebeten, diesem befiehlt: «‘Sprich also, junger Mann, damit ich dich sehe’, womit er ausdrückte, der Charakter des Menschen trete weniger im Gesicht als in der Rede hervor, weil das der zuverlässigste und am wenigsten trügerische Spiegel der Seele sei.» Ein gemaltes Porträt oder eine Statue, die immer nur die äussere Erscheinung wiedergeben können, werden also nie ein so adäquates Bild eines Menschen vermitteln wie seine sprachlichen Äusserungen, die uns sein Inneres, sein Wesen offenbaren. Folgerichtig liess Erasmus auch auf seinen eigenen Porträts einen ‛Vorbehalt’ anbringen.

Kupferstich von Erasmus von Rotterdam, Medaille von Quentin Massys

Links: Albrecht Dürer, Erasmus von Rotterdam, 1526, Kunstmuseum Basel, Kupferstichkabinett.
Rechts: Medaille von Quentin Massys auf Erasmus von Rotterdam, 1519, Historisches Museum Basel.


Sowohl auf der Medaille von Quentin Massys als auch auf dem Stich von Albrecht Dürer steht die Inschrift: ΤΗΝ ΚΡΕΙΤΤΩ ΤΑ ΣΥΓΓΡΑΜΜΑΤΑ ΔΕΙΞΕΙ. (Tēn kreittō ta syngrammata deixei.) «Das bessere [Bild] werden die Schriften zeigen.» Diesen Gedanken haben seine Freunde dann auch in der Inschrift auf seinem Grabmal aufgenommen (s. Einleitung Kap. 1.1 und Kap. 5.1.14).

Drittens war Erasmus der Überzeugung, dass Bildung wesentlich durch Nachahmung eines Vorbildes entstehe. Angesichts der Bedeutung, die Erasmus der Sprache beimisst, erstaunt es nicht, dass er dazu mehrfach einen Vers von Menander zitiert, den auch Paulus im 1. Korintherbrief anführt (15,33): «Schlechte Gespräche (d.h. schlechter Umgang) verderben einen guten Charakter.» Neutral formuliert er es selbst in der Paraclesis, einer der Einleitungsschriften zum Novum Instrumentum: «Wir werden in der Regel zu dem, woraus unsere täglichen Gespräche bestehen.» Das heisst, wer ein christliches Leben führen will, muss das Gespräch mit Jesus suchen. Und wo ginge das besser als im Neuen Testament?

Erasmus wollte allen den direkten Zugang zur Botschaft Christi ermöglichen, denn so habe es auch Christus selber gewollt: «Christus wollte seine Geheimnisse überall verbreitet wissen. Ich wünschte, dass alle Frauen das Evangelium und auch die paulinischen Briefe lesen würden.» Erasmus nennt also die Frauen explizit als Zielpublikum; sie sind bei ihm nicht ‛mitgemeint’. Die Empörung der Kleriker liess nicht auf sich warten, wie Erasmus in einem Brief an einen Freund ironisch bemerkt. Überhaupt stellt er deren Deutungshoheit ganz grundlegend in Frage: Getreu dem humanistischen Leitspruch Ad fontes! («Zu den Quellen!») ist Erasmus überzeugt, dass das Bild und die Botschaft Christi im Lauf der langen Überlieferung zunehmend quasi ‛gepanscht’ worden seien. Nicht aus den Rinnsalen und Pfützen der zeitgenössischen Theologie sollen die Gläubigen trinken, sondern aus dem ursprünglichen Quell, dem Neuen Testament. So können sie Bild und Botschaft Christi verinnerlichen und seine Nachfolge leben. Und uns erschliesst sich jetzt die ganze Bedeutung des bereits zitierten Satzes: «Du glaubst, es sei das Grösste, dass du zu Hause ein Stücklein des Kreuzes besitzest. Doch das ist nichts im Vergleich dazu, dass du das Geheimnis des Kreuzes in dir trägst.»




Quellenangaben

Die Ausführungen in diesem Kapitel basieren auf: Ueli Dill, «Einleitung», in: Ueli Dill, Petra Schierl (Hg.), Das bessere Bild Christi: Das Neue Testament in der Ausgabe des Erasmus von Rotterdam (Kat. Ausst. Basler Münster 2016, 2. Aufl. 2017), Basel 2016/2017, S. 12–16.

DJDT

Versionen

Paket Name Version
Django 4.2.19
Python 3.11.11
allauth Allauth 65.4.1.final.0
cachalot Cachalot 2.6.3
crispy_bootstrap5 Crispy_Bootstrap5 2024.10
crispy_forms Crispy_Forms 2.3
debug_toolbar Debug Toolbar 4.4.6
django_extensions Django Extensions 3.2.3
django_q Django Q 1.7.6
imagekit Imagekit 5.0.0
impersonate Impersonate 1.9.4
markdownx Markdownx 4.0.7
mozilla_django_oidc Mozilla_Django_Oidc 4.0.1
notifications Notifications 1.8.3
rosetta Rosetta 0.10.1
rules Rules 3.5.0.final.1
simple_history Simple_History 3.7.0
storages Storages 1.14.4
tos Terms Of Service 1.1.0
waffle django-waffle 4.1.0

Zeit

Ressourcenverwendung

Ressource Wert
CPU-Zeit Benutzer 1047.665 ms
CPU-Zeit System 141.095 ms
CPU-Zeit gesamt 1188.760 ms
Verstrichene Zeit 1212.638 ms
Kontextwechsel 7209 freiwillig, 1138 unfreiwillig

Browserzeit

Timing-Attribut Verlauf Millisekunden seit Seitenaufruf (plus Dauer)

Einstellungen von config.settings.staging

Einstellung Wert
ABSOLUTE_URL_OVERRIDES {}
ACCOUNT_ADAPTER 'lms_base.adapter.AccountAdapter'
ADMINS (('admin', 'notifications-nmc@unibas.ch'),)
ADMIN_URL 'admin/'
ALLOWED_HOSTS ['*']
APPEND_SLASH True
AUTHENTICATION_BACKENDS ('rules.permissions.ObjectPermissionBackend', 'lms_base.authentication.EDUIDAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend')
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL 'users.User'
BASE_DIR '/app/project/config/../'
CACHALOT_ENABLED True
CACHES {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CI_COMMIT_SHORT_SHA '0809bd77'
CI_COMMIT_TAG ''
CRISPY_ALLOWED_TEMPLATE_PACKS 'bootstrap5'
CRISPY_TEMPLATE_PACK 'bootstrap5'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_MASKED False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE None
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'tales-postgres', 'NAME': 'tptt', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'tales_db_user'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATA_UPLOAD_MAX_NUMBER_FILES 100
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x706cb92a96c0>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.AutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL 'contact-nmc@unibas.ch'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DEPLOY_ENV 'staging'
DISALLOWED_USER_AGENTS []
DJANGO_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize')
DJANGO_NOTIFICATIONS_CONFIG {'USE_JSONFIELD': True}
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'smtp.unibas.ch'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER ''
EMAIL_PORT 25
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL False
EMAIL_USE_TLS False
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORM_RENDERER 'django.forms.renderers.TemplatesSetting'
IGNORABLE_404_URLS []
IMAGEKIT_CACHEFILE_DIR 'CACHE/images'
IMAGEKIT_CACHEFILE_NAMER 'imagekit.cachefiles.namers.hash'
IMAGEKIT_CACHE_BACKEND 'default'
IMAGEKIT_CACHE_PREFIX 'imagekit:'
IMAGEKIT_CACHE_TIMEOUT 300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND 'imagekit.cachefiles.backends.Simple'
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY 'imagekit.cachefiles.strategies.JustInTime'
IMAGEKIT_DEFAULT_FILE_STORAGE 'default'
IMAGEKIT_SPEC_CACHEFILE_NAMER 'imagekit.cachefiles.namers.source_name_as_path'
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY '********************'
INSTALLED_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'storages', 'debug_toolbar')
INTERNAL_IPS ['127.0.0.1']
LANGUAGES (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch'))
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur']
LANGUAGE_CODE 'de'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LOCALE_PATHS ['/app/project/config/../locale']
LOCAL_APPS ('users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig')
LOGGING {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/'
LOGIN_URL 'account_login'
LOGOUT_REDIRECT_URL '/'
MANAGERS []
MARKDOWNX_EDITOR_RESIZABLE True
MARKDOWNX_IMAGE_MAX_SIZE {'quality': 90, 'size': (1920, 5600)}
MARKDOWNX_MARKDOWNIFY_FUNCTION 'lms_base.utils.markdownify'
MARKDOWNX_MARKDOWN_EXTENSIONS ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension']
MARKDOWNX_MEDIA_PATH 'markdownx/'
MARKDOWNX_UPLOAD_URLS_PATH '/markdownx/upload/'
MARKDOWNX_URLS_PATH '/markdownx/markdownify/'
MEDIA_ROOT '/app/project/media'
MEDIA_URL '/media/'
MESSAGE_REAPPEAR_TIME 600
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
MIGRATION_MODULES {'tos': 'lms_tales.migrate.tos'}
MODELTRANSLATION_CUSTOM_FIELDS ('JSONField',)
MODELTRANSLATION_DEFAULT_LANGUAGE 'de'
MODELTRANSLATION_FALLBACK_LANGUAGES ('de', 'en', 'fr')
MONTH_DAY_FORMAT 'F j'
NOTIFICATIONS_NOTIFICATION_MODEL 'notifications.Notification'
NUMBER_GROUPING 0
OIDC_OP_AUTHORIZATION_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/authorize'
OIDC_OP_JWKS_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/keyset'
OIDC_OP_TOKEN_ENDPOINT '********************'
OIDC_OP_USER_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/userinfo'
OIDC_RP_CLIENT_ID 'unibas-tales'
OIDC_RP_CLIENT_SECRET '********************'
OIDC_RP_SCOPES 'openid email profile https://login.eduid.ch/authz/User.Read'
OIDC_RP_SIGN_ALGO 'RS256'
OIDC_TOKEN_USE_BASIC_AUTH '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
PROJECT_DIR '/app/project/config/../'
Q_CLUSTER {'catch_up': False, 'django_redis': 'default', 'name': 'QCluster', 'retry': 600, 'timeout': 500, 'workers': 4}
RELEASE_NAME ''
REQUIRE_SUPERUSER True
ROOT_URLCONF 'config.urls'
ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE 'de'
ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME 'Deutsch'
ROSETTA_SHOW_AT_ADMIN_PANEL 'True'
SECRET_KEY '********************'
SECRET_KEY_FALLBACKS '********************'
SECURE_CONTENT_TYPE_NOSNIFF True
SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_PROXY_SSL_HEADER ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_REDIRECT_EXEMPT []
SECURE_REFERRER_POLICY 'same-origin'
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SERVER_EMAIL 'root@localhost'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE None
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.cache'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 'config.settings.staging'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_DOMAIN 'https://nmc-tales-staging.nmc.unibas.ch/'
SITE_ID 1
SLACK_WEBHOOK 'https://hooks.slack.com/services/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'
STAGING_EMAIL_RECIPIENTS ['notifications-nmc@unibas.ch']
STATICFILES_DIRS ['/app/project/config/../static']
STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT '/app/project/config/../../staticfiles'
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TALES_BASE_URL 'https://tales.nmc.unibas.ch'
TALES_VERSION 'dev'
TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.11/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THIRD_PARTY_APPS ('debug_toolbar',)
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'Europe/Zurich'
USER_DEACTIVATION_AFTER_DAYS 730
USER_DELETION_AFTER_DAYS 912
USE_DEPRECATED_PYTZ False
USE_I18N True
USE_L10N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
VIEW_CACHE_TTL 600
WAFFLE_LOG_MISSING_FLAGS 30
WAFFLE_LOG_MISSING_SAMPLES 30
WAFFLE_LOG_MISSING_SWITCHES 30
WSGI_APPLICATION 'config.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Header

Anfrage-Header

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

Antwort-Header

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

WSGI-Umgebung

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

Schlüssel Wert
PATH_INFO /de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215
QUERY_STRING
REMOTE_ADDR 13.58.164.55
REMOTE_HOST 13.58.164.55
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 172.19.0.5
SERVER_PORT 8000

Anfrage

View-Informationen

View-Funktion Argumente Schlüsselwort-Argumente URL-Name
utils.decorators.cache_per_user.<locals>.decorator.<locals>.apply_cache () {'chapter_pk': 7, 'chapter_slug': 'das-bessere-bild-christi', 'course_pk': 3, 'course_slug': 'erasmus-von-rotterdam', 'pk': 215, 'slug': 'christus-erkennen'} tales:step

Keine Cookies

Keine Sitzungsdaten

Keine GET-Daten

Keine POST-Daten

SQL-Abfragen von 0 Verbindungen

Es wurde keine SQL-Abfrage während dieses Vorgangs aufgezeichnet.

Statische Dateien (273 gefunden, 0 benutzt)

Pfad mit statischen Dateien

  1. /app/project/static

Apps mit statischen Dateien

  1. modeltranslation
  2. django.contrib.admin
  3. django_extensions
  4. markdownx
  5. django_htmx
  6. rosetta
  7. notifications
  8. debug_toolbar

Statische Dateien

-

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

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

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

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

Templates (20 gerendert)

Template-Pfade

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

Templates

step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'tqdkuVPNZx6WD2ZOkywV5NtfJVIXaCp1jpyib2hT2MdHDQ6n8MS5ipSA3ucpkkJa'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/tabla-58/test-4-285/einordnen-ii-1705'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb1f5d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb1f5d0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Tabla>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Einordnen II>, 'talesstep': <TalesStep: Einordnen II>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d5e8190>} {'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 0x706c8fb0c450>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c95b46350>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
step/step_home.html
/app/project/lms_tales/templates/step/step_home.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>}
step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'fkN2jKbutU5leS7C8WLlpSNP59ZW2PDogRYrjhJDlSP1vju6odMgodoKgSMfXgJ5'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/nonprofit-management-und-innovation-53/marktmodelle-und-wertschopfung-263/typische-marktmodelle-1594'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95acdbd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95acdbd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Nonprofit Management und Innovation>, 'course_contact': 'Prof. Dr. Georg von Schnurbein\r\n' '[E-mail Georg von ' 'Schnurbein](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Typische Marktmodelle>, 'talesstep': <TalesStep: Typische Marktmodelle>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c95fff450>} {'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 0x706c8fbb1950>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fbb2a50>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>}
base.html
/app/project/templates/base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>}
components/header.html
/app/project/templates/components/header.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
step/step_home.html
/app/project/lms_tales/templates/step/step_home.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>}
components/sidebar-navigation.html
/app/project/templates/components/sidebar-navigation.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c8fb8cd50>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fb8d490>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8fb8e5d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fb8cfd0>, <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'>]>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>}
base.html
/app/project/templates/base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>}
step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MFaciPMq8l0iwqbchwPLDOZYmiroMYFy7OmOndxdckUBTa2q2ffxUQzzGfviQPBs'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/krank-ohne-ursache-2/behandlung-6/ruckblick-auf-die-therapie-29'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb50f10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fb50f10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Krank ohne Ursache?>, 'course_contact': 'Prof. Dr. Jens Gaab \r\n' 'Klinische Psychologie und Psychotherapie \r\n' 'Fakultät für Psychologie \r\n' 'Universität Basel \r\n' 'Missionsstrasse 62 \r\n' '4055 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Rückblick auf die Therapie>, 'talesstep': <TalesStep: Rückblick auf die Therapie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c959453d0>} {'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 0x706c8fb8ffd0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fb8c690>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
components/header.html
/app/project/templates/components/header.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
components/sidebar-navigation.html
/app/project/templates/components/sidebar-navigation.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c94236350>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94237690>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95d7cb50>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c940872d0>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'MRhYGHnl4QzuEt5bhau86NOWs0LAoqUj61o9fXEkfOjX0NKycW285GthIN1JGPcD'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/erasmus-von-rotterdam-3/das-bessere-bild-christi-7/christus-erkennen-215'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d7d2fd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d7d2fd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Erasmus von Rotterdam>, 'course_contact': 'UNIVERSITÄT BASEL <br>\r\n' 'Universitätsbibliothek <br>\r\n' 'Dr. Ueli Dill <br>\r\n' 'Vorsteher Abt. Handschriften und Alte Drucke <br>\r\n' 'Schönbeinstrasse 18/20 <br>\r\n' 'CH-4056 Basel <br> \r\n' 'Tel. allgemein +41 (0)61 267 29 93 <br>\r\n' 'Tel. direkt +41 (0)61 267 31 33 <br>\r\n' 'Fax +41 (0)61 267 31 03 <br> \r\n' 'E-Mail: <a href="mailto:ueli.dill@unibas.ch"> ' 'ueli.dill@unibas.ch </a><br>\r\n' 'URL: <a href="http://www.ub.unibas.ch/"> ' 'http://www.ub.unibas.ch/ </a>', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Christus erkennen>, 'talesstep': <TalesStep: Christus erkennen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d7d1890>} {'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 0x706c94084ed0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94084990>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
step/step_home.html
/app/project/lms_tales/templates/step/step_home.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'HhqL9He9F9uq8h7313xJMAy4GsqnZQ0r7rxdLPyFz31Rft3GD89ecWoh9vJna2Eu'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/peruanische-harfe-56/analysieren-273/comparsas-choreografie-1664'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d925b10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d925b10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Peruanische Harfe>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Comparsas: Choreografie>, 'talesstep': <TalesStep: Comparsas: Choreografie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c94690290>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'HhqL9He9F9uq8h7313xJMAy4GsqnZQ0r7rxdLPyFz31Rft3GD89ecWoh9vJna2Eu'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/peruanische-harfe-56/analysieren-273/comparsas-choreografie-1664'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d925b10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d925b10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Peruanische Harfe>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Comparsas: Choreografie>, 'talesstep': <TalesStep: Comparsas: Choreografie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c94690290>}
base.html
/app/project/templates/base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'HhqL9He9F9uq8h7313xJMAy4GsqnZQ0r7rxdLPyFz31Rft3GD89ecWoh9vJna2Eu'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/peruanische-harfe-56/analysieren-273/comparsas-choreografie-1664'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d925b10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d925b10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Peruanische Harfe>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Comparsas: Choreografie>, 'talesstep': <TalesStep: Comparsas: Choreografie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c94690290>}
components/header.html
/app/project/templates/components/header.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'HhqL9He9F9uq8h7313xJMAy4GsqnZQ0r7rxdLPyFz31Rft3GD89ecWoh9vJna2Eu'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/peruanische-harfe-56/analysieren-273/comparsas-choreografie-1664'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d925b10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d925b10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Peruanische Harfe>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Comparsas: Choreografie>, 'talesstep': <TalesStep: Comparsas: Choreografie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c94690290>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
None
<unknown source>
Context zeigen {'False': False, 'None': None, 'True': True} {'raising_view_name': '', 'reason': "{'tried': [[<URLResolver <module 'debug_toolbar.urls' from " "'/usr/local/lib/python3.11/site-packages/debug_toolbar/urls.py'> " "(djdt:djdt) '__debug__/'>], [<URLResolver <URLPattern list> " "(admin:admin) 'admin/'>], [<URLResolver <module 'markdownx.urls' " "from '/usr/local/lib/python3.11/site-packages/markdownx/urls.py'> " "(None:None) 'markdownx/'>], [<URLResolver <module " "'mozilla_django_oidc.urls' from " "'/usr/local/lib/python3.11/site-packages/mozilla_django_oidc/urls.py'> " "(None:None) 'oidc/'>], [<URLResolver <module 'lms_comments.urls' " "from '/app/project/lms_comments/urls.py'> " "(lms_comments:lms_comments) 'lms-comments/'>], [<URLResolver " "<module 'impersonate.urls' from " "'/usr/local/lib/python3.11/site-packages/impersonate/urls.py'> " "(None:None) 'impersonate/'>], [<URLResolver <module " "'notifications.urls' from " "'/usr/local/lib/python3.11/site-packages/notifications/urls.py'> " "(notifications:notifications) 'notifications/'>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'users.urls' from '/app/project/users/urls.py'> (users:users) " "'users/'>], [<URLResolver <URLResolver list> (None:None) 'fr/'>, " "<URLResolver <module 'allauth.urls' from " "'/usr/local/lib/python3.11/site-packages/allauth/urls.py'> " "(None:None) 'accounts/'>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLPattern 'login/' [name='login']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'tos.urls' from " "'/usr/local/lib/python3.11/site-packages/tos/urls.py'> (None:None) " "'code-of-conduct/'>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'studierende/' [name='students']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'dozierende/' [name='lecturers']>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'faq/' [name='faq']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'kontakt/' [name='contact']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'sitemap.xml' [name='sitemap']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'courses/' [name='course_list']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/' " "[name='course']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/add' [name='course_add']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/<slug:slug>-<int:pk>/edit' " "[name='course_edit']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<slug:slug>-<int:pk>/delete' [name='course_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/kontakt' " "[name='kontakt']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<int:course_id>/upload/' [name='course_file_upload']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'course-file/<int:pk>/delete' " "[name='course_file_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'nahtkurs/glossar' [name='nahtkurs_glossar']>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'chapter/add/<int:course_pk>' " "[name='chapter_add']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'chapter/<slug:slug>-<int:pk>/edit' [name='chapter_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'chapter/<slug:slug>-<int:pk>/delete' [name='chapter_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/<slug:slug>-<int:pk>/' " "[name='chapter']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/add/<int:chapter_pk>' [name='step_add']>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/edit' " "[name='step_edit']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<slug:slug>-<int:pk>/delete' [name='step_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/<slug:chapter_slug>-<int:chapter_pk>/<slug:slug>-<int:pk>' " "[name='step']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<slug:slug>-<int:pk>' [name='step_redirect']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'step/<int:step_id>/upload/' " "[name='step_file_upload']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<int:step_id>/course-file/<int:course_file_id>' " "[name='add_file_to_step']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step-file/<int:pk>/remove' [name='remove_file_from_step']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'path/add/<int:course_pk>' " "[name='path_add']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/<slug:slug>-<int:pk>/edit' [name='path_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/delete' " "[name='path_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/path/<slug:slug>-<int:pk>' " "[name='path']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/path/<slug:path_slug>-<int:path_pk>/<slug:step_slug>-<int:step_pk>/' " "[name='pathstep']>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'pathstep/remove/<int:pk>' [name='pathstep_remove']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'sentry-debug/'>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/' " "[name='redirections']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'redirections/add/' [name='redirect_add']>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/delete/<int:pk>' " "[name='redirect_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'redirections/edit/<int:pk>' [name='redirect_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/search/<str:query>' " "[name='redirect_search']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'comments/moderate/<int:pk>' [name='remove_comment']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'htmx/empty' " "[name='empty_htmx_response']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<int:object_pk>/remove' [name='remove_course_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/author/<int:object_pk>/remove' " "[name='remove_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:object_pk>/view' " "[name='view_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:object_pk>/edit' " "[name='edit_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:related_pk>/add' " "[name='add_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/order' " "[name='sort_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/remove' " "[name='remove_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/view' " "[name='view_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/edit' " "[name='edit_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:related_pk>/add' " "[name='add_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/order' " "[name='sort_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/chapter/order' " "[name='sort_course_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/chapter/<int:object_pk>/remove' " "[name='remove_course_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/path/<int:object_pk>/remove' " "[name='remove_course_path_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/<int:filter_argument>/filelist' " "[name='list_course_files_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/file/<int:object_pk>/remove' " "[name='remove_course_file_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/file/<int:object_pk>/edit' " "[name='change_course_file_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/course_run/<int:object_pk>/remove' " "[name='remove_course_run_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/course_run/<int:object_pk>/view' " "[name='view_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/course_run/<int:object_pk>/edit' " "[name='edit_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/course_run/<int:related_pk>/add' " "[name='add_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:related_pk>/add' [name='add_chapter_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/view' " "[name='view_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/edit' " "[name='edit_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/remove' " "[name='remove_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/toggle-publish' " "[name='toggle_publish_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'step/<int:object_pk>/remove' " "[name='remove_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/step/<int:object_pk>/toggle-publish' " "[name='toggle_publish_step_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/step/order' [name='sort_step_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/step/file/<int:object_pk>/remove' " "[name='remove_file_from_step_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/paths/step/order' " "[name='sort_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/paths/step/<int:object_pk>/remove' " "[name='remove_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/<int:path_pk>/<int:course_pk>/search-step' " "[name='search_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/add-step' [name='add_pathstep_htmx']>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'lms_base.urls' from '/app/project/lms_base/urls.py'> (base:base) " "'base/'>], [<URLResolver <URLResolver list> (None:None) 'fr/'>, " "<URLResolver <module 'rosetta.urls' from " "'/usr/local/lib/python3.11/site-packages/rosetta/urls.py'> " "(None:None) 'rosetta/'>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'tags.urls' from " "'/app/project/tags/urls.py'> (tags:tags) 'tags/'>], [<URLResolver " "<URLResolver list> (None:None) 'fr/'>, <URLResolver <module " "'startpage.urls' from '/app/project/startpage/urls.py'> " "(startpage:startpage) ''>, <URLPattern " "'categories/<int:category_pk>/teaser' " "[name='category_teaser_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'categories/edit-courses' " "[name='edit_categories_courses']>], [<URLResolver <URLResolver " "list> (None:None) 'fr/'>, <URLResolver <module 'startpage.urls' " "from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/edit-slider-item/<int:pk>' " "[name='edit_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/list-slider-items' " "[name='list_slider_items']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/delete-slider-item/<int:pk>' " "[name='delete_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/create-slider-item' " "[name='save_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern '' [name='home']>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'lms_static_texts.urls' " "from '/app/project/lms_static_texts/urls.py'> " "(lms_static_texts:lms_static_texts) 'static-texts/'>], " "[<URLResolver <URLResolver list> (None:None) 'fr/'>, <URLResolver " "<module 'search.urls' from '/app/project/search/urls.py'> " "(search:search) 'search/'>], [<URLResolver <URLResolver list> " "(None:None) 'fr/'>, <URLResolver <module 'dashboard.urls' from " "'/app/project/dashboard/urls.py'> (dashboard:dashboard) " "'dashboard/'>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'link_check.urls' from " "'/app/project/link_check/urls.py'> (linkcheck:linkcheck) " "'linkcheck/'>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'reporting.urls' from " "'/app/project/reporting/urls.py'> (reporting:reporting) " "'reporting/'>], [<URLResolver <URLResolver list> (None:None) " "'fr/'>, <URLResolver <module 'django.conf.urls.i18n' from " "'/usr/local/lib/python3.11/site-packages/django/conf/urls/i18n.py'> " "(None:None) 'i18n/'>], [<URLPattern '^media/(?P<path>.*)$'>], " "[<URLPattern '^static/(?P<path>.*)$'>], [<URLPattern '400/'>], " "[<URLPattern '403/'>], [<URLPattern '404/'>], [<URLPattern " "'500/'>]], 'path': 'fr/conducting-psychological-research-6'}", 'request': '<<request>>', 'request_path': 'fr/conducting-psychological-research-6', 'resolved': False, 'root_urlconf': 'config.urls', 'settings': {'ABSOLUTE_URL_OVERRIDES': {}, 'ACCOUNT_ADAPTER': 'lms_base.adapter.AccountAdapter', 'ADMINS': (('admin', 'notifications-nmc@unibas.ch'),), 'ADMIN_URL': 'admin/', 'ALLOWED_HOSTS': ['*'], 'APPEND_SLASH': True, 'AUTHENTICATION_BACKENDS': ('rules.permissions.ObjectPermissionBackend', 'lms_base.authentication.EDUIDAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend'), 'AUTH_PASSWORD_VALIDATORS': '********************', 'AUTH_USER_MODEL': 'users.User', 'BASE_DIR': '/app/project/config/../', 'CACHALOT_ENABLED': True, 'CACHES': {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}, 'CACHE_MIDDLEWARE_ALIAS': 'default', 'CACHE_MIDDLEWARE_KEY_PREFIX': '********************', 'CACHE_MIDDLEWARE_SECONDS': 600, 'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'CRISPY_ALLOWED_TEMPLATE_PACKS': 'bootstrap5', 'CRISPY_TEMPLATE_PACK': 'bootstrap5', 'CSRF_COOKIE_AGE': 31449600, 'CSRF_COOKIE_DOMAIN': None, 'CSRF_COOKIE_HTTPONLY': False, 'CSRF_COOKIE_MASKED': False, 'CSRF_COOKIE_NAME': 'csrftoken', 'CSRF_COOKIE_PATH': '/', 'CSRF_COOKIE_SAMESITE': None, 'CSRF_COOKIE_SECURE': False, 'CSRF_FAILURE_VIEW': 'django.views.csrf.csrf_failure', 'CSRF_HEADER_NAME': 'HTTP_X_CSRFTOKEN', 'CSRF_TRUSTED_ORIGINS': [], 'CSRF_USE_SESSIONS': False, 'DATABASES': {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'tales-postgres', 'NAME': 'tptt', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'tales_db_user'}}, 'DATABASE_ROUTERS': [], 'DATA_UPLOAD_MAX_MEMORY_SIZE': 2621440, 'DATA_UPLOAD_MAX_NUMBER_FIELDS': 1000, 'DATA_UPLOAD_MAX_NUMBER_FILES': 100, 'DATETIME_FORMAT': 'N j, Y, P', 'DATETIME_INPUT_FORMATS': ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'], 'DATE_FORMAT': 'N j, Y', 'DATE_INPUT_FORMATS': ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'], 'DEBUG': True, 'DEBUG_PROPAGATE_EXCEPTIONS': False, 'DEBUG_TOOLBAR_CONFIG': {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x706cb92a96c0>}, 'DEBUG_TOOLBAR_PANELS': ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel'], 'DECIMAL_SEPARATOR': '.', 'DEFAULT_AUTO_FIELD': 'django.db.models.AutoField', 'DEFAULT_CHARSET': 'utf-8', 'DEFAULT_EXCEPTION_REPORTER': 'django.views.debug.ExceptionReporter', 'DEFAULT_EXCEPTION_REPORTER_FILTER': 'django.views.debug.SafeExceptionReporterFilter', 'DEFAULT_FILE_STORAGE': 'django.core.files.storage.FileSystemStorage', 'DEFAULT_FROM_EMAIL': 'contact-nmc@unibas.ch', 'DEFAULT_INDEX_TABLESPACE': '', 'DEFAULT_TABLESPACE': '', 'DEPLOY_ENV': 'staging', 'DISALLOWED_USER_AGENTS': [], 'DJANGO_APPS': ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize'), 'DJANGO_NOTIFICATIONS_CONFIG': {'USE_JSONFIELD': True}, 'EMAIL_BACKEND': 'django.core.mail.backends.smtp.EmailBackend', 'EMAIL_HOST': 'smtp.unibas.ch', 'EMAIL_HOST_PASSWORD': '********************', 'EMAIL_HOST_USER': '', 'EMAIL_PORT': 25, 'EMAIL_SSL_CERTFILE': None, 'EMAIL_SSL_KEYFILE': '********************', 'EMAIL_SUBJECT_PREFIX': '[Django] ', 'EMAIL_TIMEOUT': None, 'EMAIL_USE_LOCALTIME': False, 'EMAIL_USE_SSL': False, 'EMAIL_USE_TLS': False, 'FILE_UPLOAD_DIRECTORY_PERMISSIONS': None, 'FILE_UPLOAD_HANDLERS': ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'], 'FILE_UPLOAD_MAX_MEMORY_SIZE': 2621440, 'FILE_UPLOAD_PERMISSIONS': 420, 'FILE_UPLOAD_TEMP_DIR': None, 'FIRST_DAY_OF_WEEK': 0, 'FIXTURE_DIRS': [], 'FORCE_SCRIPT_NAME': None, 'FORMAT_MODULE_PATH': None, 'FORM_RENDERER': 'django.forms.renderers.TemplatesSetting', 'IGNORABLE_404_URLS': [], 'IMAGEKIT_CACHEFILE_DIR': 'CACHE/images', 'IMAGEKIT_CACHEFILE_NAMER': 'imagekit.cachefiles.namers.hash', 'IMAGEKIT_CACHE_BACKEND': 'default', 'IMAGEKIT_CACHE_PREFIX': 'imagekit:', 'IMAGEKIT_CACHE_TIMEOUT': 300, 'IMAGEKIT_DEFAULT_CACHEFILE_BACKEND': 'imagekit.cachefiles.backends.Simple', 'IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY': 'imagekit.cachefiles.strategies.JustInTime', 'IMAGEKIT_DEFAULT_FILE_STORAGE': 'default', 'IMAGEKIT_SPEC_CACHEFILE_NAMER': 'imagekit.cachefiles.namers.source_name_as_path', 'IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY': '********************', 'INSTALLED_APPS': ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'storages', 'debug_toolbar'), 'INTERNAL_IPS': ['127.0.0.1'], 'LANGUAGES': (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch')), 'LANGUAGES_BIDI': ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'], 'LANGUAGE_CODE': 'de', 'LANGUAGE_COOKIE_AGE': None, 'LANGUAGE_COOKIE_DOMAIN': None, 'LANGUAGE_COOKIE_HTTPONLY': False, 'LANGUAGE_COOKIE_NAME': 'django_language', 'LANGUAGE_COOKIE_PATH': '/', 'LANGUAGE_COOKIE_SAMESITE': None, 'LANGUAGE_COOKIE_SECURE': False, 'LOCALE_PATHS': ['/app/project/config/../locale'], 'LOCAL_APPS': ('users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig'), 'LOGGING': {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} ' '{levelname} ' '{name} ' '{module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}, 'LOGGING_CONFIG': 'logging.config.dictConfig', 'LOGIN_REDIRECT_URL': '/', 'LOGIN_URL': 'account_login', 'LOGOUT_REDIRECT_URL': '/', 'MANAGERS': [], 'MARKDOWNX_EDITOR_RESIZABLE': True, 'MARKDOWNX_IMAGE_MAX_SIZE': {'quality': 90, 'size': (1920, 5600)}, 'MARKDOWNX_MARKDOWNIFY_FUNCTION': 'lms_base.utils.markdownify', 'MARKDOWNX_MARKDOWN_EXTENSIONS': ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension'], 'MARKDOWNX_MEDIA_PATH': 'markdownx/', 'MARKDOWNX_UPLOAD_URLS_PATH': '/markdownx/upload/', 'MARKDOWNX_URLS_PATH': '/markdownx/markdownify/', 'MEDIA_ROOT': '/app/project/media', 'MEDIA_URL': '/media/', 'MESSAGE_REAPPEAR_TIME': 600, 'MESSAGE_STORAGE': 'django.contrib.messages.storage.fallback.FallbackStorage', 'MIDDLEWARE': ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware'], 'MIGRATION_MODULES': {'tos': 'lms_tales.migrate.tos'}, 'MODELTRANSLATION_CUSTOM_FIELDS': ('JSONField',), 'MODELTRANSLATION_DEFAULT_LANGUAGE': 'de', 'MODELTRANSLATION_FALLBACK_LANGUAGES': ('de', 'en', 'fr'), 'MONTH_DAY_FORMAT': 'F j', 'NOTIFICATIONS_NOTIFICATION_MODEL': 'notifications.Notification', 'NUMBER_GROUPING': 0, 'OIDC_OP_AUTHORIZATION_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/authorize', 'OIDC_OP_JWKS_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/keyset', 'OIDC_OP_TOKEN_ENDPOINT': '********************', 'OIDC_OP_USER_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/userinfo', 'OIDC_RP_CLIENT_ID': 'unibas-tales', 'OIDC_RP_CLIENT_SECRET': '********************', 'OIDC_RP_SCOPES': 'openid email profile ' 'https://login.eduid.ch/authz/User.Read', 'OIDC_RP_SIGN_ALGO': 'RS256', 'OIDC_TOKEN_USE_BASIC_AUTH': '********************', 'PASSWORD_HASHERS': '********************', 'PASSWORD_RESET_TIMEOUT': '********************', 'PREPEND_WWW': False, 'PROJECT_DIR': '/app/project/config/../', 'Q_CLUSTER': {'catch_up': False, 'django_redis': 'default', 'name': 'QCluster', 'retry': 600, 'timeout': 500, 'workers': 4}, 'RELEASE_NAME': '', 'REQUIRE_SUPERUSER': True, 'ROOT_URLCONF': 'config.urls', 'ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE': 'de', 'ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME': 'Deutsch', 'ROSETTA_SHOW_AT_ADMIN_PANEL': 'True', 'SECRET_KEY': '********************', 'SECRET_KEY_FALLBACKS': '********************', 'SECURE_CONTENT_TYPE_NOSNIFF': True, 'SECURE_CROSS_ORIGIN_OPENER_POLICY': 'same-origin', 'SECURE_HSTS_INCLUDE_SUBDOMAINS': False, 'SECURE_HSTS_PRELOAD': False, 'SECURE_HSTS_SECONDS': 0, 'SECURE_PROXY_SSL_HEADER': ('HTTP_X_FORWARDED_PROTO', 'https'), 'SECURE_REDIRECT_EXEMPT': [], 'SECURE_REFERRER_POLICY': 'same-origin', 'SECURE_SSL_HOST': None, 'SECURE_SSL_REDIRECT': False, 'SERVER_EMAIL': 'root@localhost', 'SESSION_CACHE_ALIAS': 'default', 'SESSION_COOKIE_AGE': 1209600, 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_NAME': 'sessionid', 'SESSION_COOKIE_PATH': '/', 'SESSION_COOKIE_SAMESITE': None, 'SESSION_COOKIE_SECURE': False, 'SESSION_ENGINE': 'django.contrib.sessions.backends.cache', 'SESSION_EXPIRE_AT_BROWSER_CLOSE': False, 'SESSION_FILE_PATH': None, 'SESSION_SAVE_EVERY_REQUEST': False, 'SESSION_SERIALIZER': 'django.contrib.sessions.serializers.JSONSerializer', 'SETTINGS_MODULE': 'config.settings.staging', 'SHORT_DATETIME_FORMAT': 'm/d/Y P', 'SHORT_DATE_FORMAT': 'm/d/Y', 'SIGNING_BACKEND': 'django.core.signing.TimestampSigner', 'SILENCED_SYSTEM_CHECKS': [], 'SITE_DOMAIN': 'https://nmc-tales-staging.nmc.unibas.ch/', 'SITE_ID': 1, 'SLACK_WEBHOOK': 'https://hooks.slack.com/services/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', 'STAGING_EMAIL_RECIPIENTS': ['notifications-nmc@unibas.ch'], 'STATICFILES_DIRS': ['/app/project/config/../static'], 'STATICFILES_FINDERS': ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'), 'STATICFILES_STORAGE': 'django.contrib.staticfiles.storage.StaticFilesStorage', 'STATIC_ROOT': '/app/project/config/../../staticfiles', 'STATIC_URL': '/static/', 'STORAGES': {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}, 'TALES_BASE_URL': 'https://tales.nmc.unibas.ch', 'TALES_VERSION': 'dev', 'TEMPLATES': [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.11/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}], 'TEST_NON_SERIALIZED_APPS': [], 'TEST_RUNNER': 'django.test.runner.DiscoverRunner', 'THIRD_PARTY_APPS': ('debug_toolbar',), 'THOUSAND_SEPARATOR': ',', 'TIME_FORMAT': 'P', 'TIME_INPUT_FORMATS': ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'], 'TIME_ZONE': 'Europe/Zurich', 'USER_DEACTIVATION_AFTER_DAYS': 730, 'USER_DELETION_AFTER_DAYS': 912, 'USE_DEPRECATED_PYTZ': False, 'USE_I18N': True, 'USE_L10N': True, 'USE_THOUSAND_SEPARATOR': False, 'USE_TZ': True, 'USE_X_FORWARDED_HOST': True, 'USE_X_FORWARDED_PORT': False, 'VIEW_CACHE_TTL': 600, 'WAFFLE_LOG_MISSING_FLAGS': 30, 'WAFFLE_LOG_MISSING_SAMPLES': 30, 'WAFFLE_LOG_MISSING_SWITCHES': 30, 'WSGI_APPLICATION': 'config.wsgi.application', 'X_FRAME_OPTIONS': 'DENY', 'YEAR_MONTH_FORMAT': 'F Y'}, 'urlconf': 'config.urls', 'urlpatterns': [[<URLResolver <module 'debug_toolbar.urls' from '/usr/local/lib/python3.11/site-packages/debug_toolbar/urls.py'> (djdt:djdt) '__debug__/'>], [<URLResolver <URLPattern list> (admin:admin) 'admin/'>], [<URLResolver <module 'markdownx.urls' from '/usr/local/lib/python3.11/site-packages/markdownx/urls.py'> (None:None) 'markdownx/'>], [<URLResolver <module 'mozilla_django_oidc.urls' from '/usr/local/lib/python3.11/site-packages/mozilla_django_oidc/urls.py'> (None:None) 'oidc/'>], [<URLResolver <module 'lms_comments.urls' from '/app/project/lms_comments/urls.py'> (lms_comments:lms_comments) 'lms-comments/'>], [<URLResolver <module 'impersonate.urls' from '/usr/local/lib/python3.11/site-packages/impersonate/urls.py'> (None:None) 'impersonate/'>], [<URLResolver <module 'notifications.urls' from '/usr/local/lib/python3.11/site-packages/notifications/urls.py'> (notifications:notifications) 'notifications/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'users.urls' from '/app/project/users/urls.py'> (users:users) 'users/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'allauth.urls' from '/usr/local/lib/python3.11/site-packages/allauth/urls.py'> (None:None) 'accounts/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLPattern 'login/' [name='login']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'tos.urls' from '/usr/local/lib/python3.11/site-packages/tos/urls.py'> (None:None) 'code-of-conduct/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'studierende/' [name='students']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'dozierende/' [name='lecturers']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'faq/' [name='faq']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'kontakt/' [name='contact']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'sitemap.xml' [name='sitemap']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'courses/' [name='course_list']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/' [name='course']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/add' [name='course_add']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<slug:slug>-<int:pk>/edit' [name='course_edit']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<slug:slug>-<int:pk>/delete' [name='course_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/kontakt' [name='kontakt']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:course_id>/upload/' [name='course_file_upload']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course-file/<int:pk>/delete' [name='course_file_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'nahtkurs/glossar' [name='nahtkurs_glossar']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/add/<int:course_pk>' [name='chapter_add']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/<slug:slug>-<int:pk>/edit' [name='chapter_edit']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/<slug:slug>-<int:pk>/delete' [name='chapter_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/<slug:slug>-<int:pk>/' [name='chapter']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/add/<int:chapter_pk>' [name='step_add']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/edit' [name='step_edit']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/delete' [name='step_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/<slug:chapter_slug>-<int:chapter_pk>/<slug:slug>-<int:pk>' [name='step']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>' [name='step_redirect']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:step_id>/upload/' [name='step_file_upload']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:step_id>/course-file/<int:course_file_id>' [name='add_file_to_step']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step-file/<int:pk>/remove' [name='remove_file_from_step']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/add/<int:course_pk>' [name='path_add']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/edit' [name='path_edit']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/delete' [name='path_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/path/<slug:slug>-<int:pk>' [name='path']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/path/<slug:path_slug>-<int:path_pk>/<slug:step_slug>-<int:step_pk>/' [name='pathstep']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'pathstep/remove/<int:pk>' [name='pathstep_remove']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'sentry-debug/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/' [name='redirections']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/add/' [name='redirect_add']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/delete/<int:pk>' [name='redirect_delete']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/edit/<int:pk>' [name='redirect_edit']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/search/<str:query>' [name='redirect_search']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'comments/moderate/<int:pk>' [name='remove_comment']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'htmx/empty' [name='empty_htmx_response']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:object_pk>/remove' [name='remove_course_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/remove' [name='remove_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/view' [name='view_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/edit' [name='edit_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:related_pk>/add' [name='add_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/order' [name='sort_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/remove' [name='remove_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/view' [name='view_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/edit' [name='edit_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:related_pk>/add' [name='add_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/order' [name='sort_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/order' [name='sort_course_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/remove' [name='remove_course_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/path/<int:object_pk>/remove' [name='remove_course_path_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:filter_argument>/filelist' [name='list_course_files_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/file/<int:object_pk>/remove' [name='remove_course_file_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/file/<int:object_pk>/edit' [name='change_course_file_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/remove' [name='remove_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/view' [name='view_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/edit' [name='edit_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:related_pk>/add' [name='add_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:related_pk>/add' [name='add_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/view' [name='view_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/edit' [name='edit_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/remove' [name='remove_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/toggle-publish' [name='toggle_publish_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:object_pk>/remove' [name='remove_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/<int:object_pk>/toggle-publish' [name='toggle_publish_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/order' [name='sort_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/file/<int:object_pk>/remove' [name='remove_file_from_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/paths/step/order' [name='sort_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/paths/step/<int:object_pk>/remove' [name='remove_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<int:path_pk>/<int:course_pk>/search-step' [name='search_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/add-step' [name='add_pathstep_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_base.urls' from '/app/project/lms_base/urls.py'> (base:base) 'base/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'rosetta.urls' from '/usr/local/lib/python3.11/site-packages/rosetta/urls.py'> (None:None) 'rosetta/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'tags.urls' from '/app/project/tags/urls.py'> (tags:tags) 'tags/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'categories/<int:category_pk>/teaser' [name='category_teaser_htmx']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'categories/edit-courses' [name='edit_categories_courses']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/edit-slider-item/<int:pk>' [name='edit_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/list-slider-items' [name='list_slider_items']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/delete-slider-item/<int:pk>' [name='delete_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/create-slider-item' [name='save_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern '' [name='home']>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'lms_static_texts.urls' from '/app/project/lms_static_texts/urls.py'> (lms_static_texts:lms_static_texts) 'static-texts/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'search.urls' from '/app/project/search/urls.py'> (search:search) 'search/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'dashboard.urls' from '/app/project/dashboard/urls.py'> (dashboard:dashboard) 'dashboard/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'link_check.urls' from '/app/project/link_check/urls.py'> (linkcheck:linkcheck) 'linkcheck/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'reporting.urls' from '/app/project/reporting/urls.py'> (reporting:reporting) 'reporting/'>], [<URLResolver <URLResolver list> (None:None) 'de/'>, <URLResolver <module 'django.conf.urls.i18n' from '/usr/local/lib/python3.11/site-packages/django/conf/urls/i18n.py'> (None:None) 'i18n/'>], [<URLPattern '^media/(?P<path>.*)$'>], [<URLPattern '^static/(?P<path>.*)$'>], [<URLPattern '400/'>], [<URLPattern '403/'>], [<URLPattern '404/'>], [<URLPattern '500/'>]]}
components/sidebar-navigation.html
/app/project/templates/components/sidebar-navigation.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', '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': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'HhqL9He9F9uq8h7313xJMAy4GsqnZQ0r7rxdLPyFz31Rft3GD89ecWoh9vJna2Eu'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/peruanische-harfe-56/analysieren-273/comparsas-choreografie-1664'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8d925b10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8d925b10>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'Deutsch')], 'course': <TalesCourse: Peruanische Harfe>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Comparsas: Choreografie>, 'talesstep': <TalesStep: Comparsas: Choreografie>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c94690290>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c94510a10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94510650>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8d459c10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94511050>, <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'>]>}

Context-Prozessoren

django.template.context_processors.csrf
Context zeigen {'csrf_token': <SimpleLazyObject: 'tqdkuVPNZx6WD2ZOkywV5NtfJVIXaCp1jpyib2hT2MdHDQ6n8MS5ipSA3ucpkkJa'>}
django.template.context_processors.debug
Context zeigen {}
django.template.context_processors.request
Context zeigen {'request': <ASGIRequest: GET '/de/tabla-58/test-4-285/einordnen-ii-1705'>}
django.contrib.auth.context_processors.auth
Context zeigen {'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb1f5d0>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fb1f5d0>>>)}
django.template.context_processors.i18n
Context zeigen {'LANGUAGES': (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch')), 'LANGUAGE_CODE': 'de', 'LANGUAGE_BIDI': False}
django.template.context_processors.media
Context zeigen {'MEDIA_URL': '/media/'}
django.template.context_processors.static
Context zeigen {'STATIC_URL': '/static/'}
django.template.context_processors.tz
Context zeigen {'TIME_ZONE': 'Europe/Zurich'}
django.contrib.messages.context_processors.messages
Context zeigen {'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/tabla-58/test-4-285/einordnen-ii-1705'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
utils.context_processors.ci_info
Context zeigen {'CI_COMMIT_TAG': '', 'CI_COMMIT_SHORT_SHA': '0809bd77', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}

Cache-Aufrufe von 1 Backend

Zusammenfassung

Aufrufe gesamt Zeit gesamt Cache erfolgreich Cache verfehlt
17 107,5388784520328 ms 100 0

Befehle

add get set get_or_set touch delete clear get_many set_many delete_many has_key incr decr incr_version decr_version
0 2 2 0 0 0 0 13 0 0 0 0 0 0 0

Aufrufe

Zeit (ms) Typ Argumente Schlüsselwort-Argumente Backend
4,9035 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '138549f5508bbba7283d6a0625e51c589d845e8f', '38f1ae8884454ee92479e0e42eda28b384b5fad9'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

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

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

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

4,4053 get_many (dict_keys(['b5ac959681ff06eff632d25a5961a4d3cad09b42', '542c27005f4e84288827ce70a7d49bc73324a5e7', '887f8247d0ff979264c73b069f790024b2aa98e1', 'a2cec6efb2cb51d9fcdc73ec65d0d02848d3205f', 'af167bf678e72a9b2a64d8869d420b8d25e96148', 'f2b266a5acd7f191551fca80dea8475d456a300c', 'e5890f0f95e54c95fc7d85ffd3cd8f5079a384eb', '7d22fa9ec7aaf50b239b17bb4529f27be72f4b3d', 'fab86eaeb6f68c1bd14e3c42d6a32fc63fe5c10b', '1671d58e08fb6227d160e4add3baac34f778006f', '5634047d837b3106d3997f0611a298a16f6754cb', '38c0c9db04f183fb89086db2a3a02d20d5c1cbda', '33cd0b10f8c2fd53802b0948820b8b58da6bb27c', 'dbdc4e6f3de4931fbb7e39044291d87c49a581a7', 'bf555e2c224baeeac5838ee69c053900ce037b1d', '452aaa2adbf5d826d715538ebfd87013a599bacd', '5ef73f3d610667d7836abd847979ad8d02582140', '28b4f1c78186b497fc0611b76d5609a36a170804', 'acd1c2a120952e0445e89d8a2cc8faa99cc73454', '3fdb5b63faddfa01f5ebd09a89b74c9b3ec742bf', 'bc41695a90f568da6f9c44d14dbb30130bea76db', '6d6bdc7046f6d1410bd41d09cd570831af97fd31', '2288e6f142e998339c6d4985913358f76533a29e', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', 'bf2a5aa392ac965fc14b9cc5fc8fcce588b2cf57', '9de26d60cec57eaab1ec19a62cf772073ae0e30f', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'b33158a576dd24b41063563867ce3f9044eb1acf', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d', 'd34b8ed7c3bb0d3a712a5e42065744014bfe1542']),) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

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

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

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

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

5,0424 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', 'b08527050254eae90e023d6c41caf2a9ecd4e7c4'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0,4574 get_many (['542c27005f4e84288827ce70a7d49bc73324a5e7', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'c0a8fbcf93afd72d78ba01ebbaf5be4f400c5f3e'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(48)
  for owner in course.owner.all():

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

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

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

4,5611 get_many (['542c27005f4e84288827ce70a7d49bc73324a5e7', '53169bc24a037802f3e42b2df3d6e48b7ae8482f', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'afbd53c88fbc5d65bc751d4c6fe35b0f03416aac'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(48)
  for owner in course.owner.all():

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

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

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

9,5492 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', 'b08527050254eae90e023d6c41caf2a9ecd4e7c4'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_tales/models.py in get_step_number(107)
  chapter_list = list(

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

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

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

11,4795 get_many (['4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '138549f5508bbba7283d6a0625e51c589d845e8f', 'f97bae8ad0003fbcb681a1a3141d2ba8945b0797'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

15,0208 get_many (['4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '138549f5508bbba7283d6a0625e51c589d845e8f', '40fd3a085ea729ab1e45fcd6de539fa4d8bfe45a'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11,3816 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '34b3c4a7149bcfa143b780946feecdc9a9027647'],) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/app/project/lms_tales/views/step_views.py in get_context_data(73)
  context["course"] = self.object.chapter.course

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

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

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

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

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

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

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

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

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

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

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

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

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(32)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(37)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(73)
  context["course"] = self.object.chapter.course

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

21,0080 set ('view_cache_view_/de/tabla-58/test-4-285/einordnen-ii-1705_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

0,7783 get ('waffle:4.1.0e9e267545e7f919d987e2d016e67ed7e',) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

3,5032 set ('view_cache_view_/de/nonprofit-management-und-innovation-53/marktmodelle-und-wertschopfung-263/typische-marktmodelle-1594_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x706cb63263d0>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

Cachalot

Database 'default'

Application Model Last invalidation
django_q Failure 12 Stunden, 15 Minuten
django_q Schedule 12 Stunden, 15 Minuten
reporting Report 14 Stunden, 40 Minuten
lms_tales CourseMetrics 22 Stunden, 45 Minuten
search FulltextSearchModel 23 Stunden, 45 Minuten
lms_roles CourseRole 1 Monat, 3 Wochen
search TrigramSearchModel 1 Monat, 3 Wochen
startpage SliderItem 1 Monat, 3 Wochen
startpage CategoryCourse 1 Monat, 3 Wochen
tags Category 1 Monat, 3 Wochen
tags Tag 1 Monat, 3 Wochen
lms_static_texts StaticText 1 Monat, 3 Wochen
lms_static_texts HistoricalStaticText 1 Monat, 3 Wochen
lms_comments Comment 1 Monat, 3 Wochen
lms_comments Reply 1 Monat, 3 Wochen
lms_comments Reaction 1 Monat, 3 Wochen
lms_comments Flag 1 Monat, 3 Wochen
lms_tales TalesStep 1 Monat, 3 Wochen
lms_tales TalesStepFileNew 1 Monat, 3 Wochen
lms_tales TalesStepFile 1 Monat, 3 Wochen
lms_tales TalesCourseFile 1 Monat, 3 Wochen
lms_tales TalesChapter 1 Monat, 3 Wochen
lms_tales TalesCourse 1 Monat, 3 Wochen
lms_tales TalesAuthor 1 Monat, 3 Wochen
lms_tales TalesPartner 1 Monat, 3 Wochen
lms_tales TalesGlossaryItem 1 Monat, 3 Wochen
lms_tales TalesPath 1 Monat, 3 Wochen
lms_tales TalesPathStep 1 Monat, 3 Wochen
lms_tales TalesCourseRun 1 Monat, 3 Wochen
lms_tales TalesCourseRunStep 1 Monat, 3 Wochen
lms_tales ScheduledMessage 1 Monat, 3 Wochen
lms_tales HistoricalTalesStep 1 Monat, 3 Wochen
lms_tales HistoricalTalesStepFile 1 Monat, 3 Wochen
lms_tales HistoricalTalesChapter 1 Monat, 3 Wochen
lms_tales HistoricalTalesCourse 1 Monat, 3 Wochen
lms_tales HistoricalTalesPath 1 Monat, 3 Wochen
lms_base GlossaryMixin 1 Monat, 3 Wochen
lms_base GlossaryItemMixin 1 Monat, 3 Wochen
users User 1 Monat, 3 Wochen
users UserSettings 1 Monat, 3 Wochen
auth Permission 1 Monat, 3 Wochen
auth Group 1 Monat, 3 Wochen
contenttypes ContentType 1 Monat, 3 Wochen
sessions Session 1 Monat, 3 Wochen
sites Site 1 Monat, 3 Wochen
flatpages FlatPage 1 Monat, 3 Wochen
admin LogEntry 1 Monat, 3 Wochen
redirects Redirect 1 Monat, 3 Wochen
account EmailAddress 1 Monat, 3 Wochen
account EmailConfirmation 1 Monat, 3 Wochen
socialaccount SocialApp 1 Monat, 3 Wochen
socialaccount SocialAccount 1 Monat, 3 Wochen
socialaccount SocialToken 1 Monat, 3 Wochen
waffle Flag 1 Monat, 3 Wochen
waffle Switch 1 Monat, 3 Wochen
waffle Sample 1 Monat, 3 Wochen
tos TermsOfService 1 Monat, 3 Wochen
tos UserAgreement 1 Monat, 3 Wochen
impersonate ImpersonationLog 1 Monat, 3 Wochen
django_q OrmQ 1 Monat, 3 Wochen
notifications Notification 1 Monat, 3 Wochen

Signale

Signal Empfänger
class_prepared StatusField.prepare_class, add_status_query_managers, add_timeframed_query_manager, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class
connection_created
got_request_exception _got_request_exception
m2m_changed flag_membership_changed, flag_membership_changed
post_delete HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, delete_search_index, delete_search_index
post_init ModelSignalRouter.post_init_receiver, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, 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, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, call_hook, create_user_settings, save_user_settings, update_search_index, update_search_index
pre_delete clear_site_cache
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save clear_site_cache
request_finished close_old_connections, close_caches, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, reload_settings, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, update_level_tags, clear_caches, FileSystemStorage._clear_cached_properties, 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, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties