| Package | Name | Version |
|---|---|---|
| Django | 5.2.3 | |
| Python | 3.12.12 | |
| allauth | Allauth | 65.9.0.final.0 |
| cachalot | Cachalot | 2.8.0 |
| crispy_bootstrap5 | Crispy_Bootstrap5 | 2025.4 |
| crispy_forms | Crispy_Forms | 2.4 |
| debug_toolbar | Debug Toolbar | 5.2.0 |
| django_extensions | Django Extensions | 3.2.3 |
| django_filters | Django_Filters | 25.1 |
| django_q | Django Q | 1.8.0 |
| imagekit | Imagekit | 5.0.0 |
| impersonate | Impersonate | 1.9.5 |
| markdownx | Markdownx | 4.0.9 |
| mozilla_django_oidc | Mozilla_Django_Oidc | 4.0.1 |
| notifications | Notifications | 1.8.3 |
| rosetta | Rosetta | 0.10.2 |
| rules | Rules | 3.5.0.final.1 |
| simple_history | Simple_History | 3.8.0 |
| tos | Terms Of Service | 1.1.0 |
| waffle | django-waffle | 4.2.0 |
| Resource | Value |
|---|---|
| User CPU time | 136.354 msec |
| System CPU time | 6.472 msec |
| Total CPU time | 142.826 msec |
| Elapsed time | 153.886 msec |
| Context switches | 29 voluntary, 16 involuntary |
| Timing attribute | Timeline | Milliseconds since navigation start (+length) |
|---|
| Setting | Value |
|---|---|
| ABSOLUTE_URL_OVERRIDES | {} |
| ACCOUNT_ADAPTER | 'lms_base.adapter.AccountAdapter' |
| ADMINS | (('admin', 'notifications-nmc@unibas.ch'),) |
| ADMIN_URL | 'admin/' |
| ALLOWED_HOSTS | ['*'] |
| APPEND_SLASH | True |
| AUTHENTICATION_BACKENDS | '********************' |
| AUTH_PASSWORD_VALIDATORS | '********************' |
| AUTH_USER_MODEL | '********************' |
| BASE_DIR | '/app/project/config/../' |
| CACHALOT_ENABLED | True |
| CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://tales-redis:6379/1',
'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient',
'IGNORE_EXCEPTIONS': True}}} |
| CACHE_MIDDLEWARE_ALIAS | 'default' |
| CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
| CACHE_MIDDLEWARE_SECONDS | 600 |
| CI_COMMIT_SHORT_SHA | 'c401eb2c' |
| CI_COMMIT_TAG | '2.6.23' |
| CRISPY_ALLOWED_TEMPLATE_PACKS | 'bootstrap5' |
| CRISPY_TEMPLATE_PACK | 'bootstrap5' |
| CSRF_COOKIE_AGE | 31449600 |
| CSRF_COOKIE_DOMAIN | None |
| CSRF_COOKIE_HTTPONLY | False |
| CSRF_COOKIE_NAME | 'csrftoken' |
| CSRF_COOKIE_PATH | '/' |
| CSRF_COOKIE_SAMESITE | None |
| CSRF_COOKIE_SECURE | False |
| CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
| CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
| CSRF_TRUSTED_ORIGINS | [] |
| CSRF_USE_SESSIONS | False |
| DATABASES | {'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_HEALTH_CHECKS': False,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'tales-postgres',
'NAME': 'tptt',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '5432',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIGRATE': True,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'tales_db_user'}} |
| DATABASE_ROUTERS | [] |
| DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
| DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
| DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
| DATETIME_FORMAT | 'N j, Y, P' |
| DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M'] |
| DATE_FORMAT | 'N j, Y' |
| DATE_INPUT_FORMATS | ['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y'] |
| DEBUG | True |
| DEBUG_PROPAGATE_EXCEPTIONS | False |
| DEBUG_TOOLBAR_CONFIG | {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x788312fd3420>} |
| DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'cachalot.panels.CachalotPanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel'] |
| DECIMAL_SEPARATOR | '.' |
| DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
| DEFAULT_CHARSET | 'utf-8' |
| DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
| DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
| DEFAULT_FROM_EMAIL | 'contact-nmc@unibas.ch' |
| DEFAULT_INDEX_TABLESPACE | '' |
| DEFAULT_TABLESPACE | '' |
| DEPLOY_ENV | 'staging' |
| DISALLOWED_USER_AGENTS | [] |
| DJANGO_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize') |
| DJANGO_NOTIFICATIONS_CONFIG | {'USE_JSONFIELD': True} |
| EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
| EMAIL_HOST | 'smtp.unibas.ch' |
| EMAIL_HOST_PASSWORD | '********************' |
| EMAIL_HOST_USER | '' |
| EMAIL_PORT | 25 |
| EMAIL_SSL_CERTFILE | None |
| EMAIL_SSL_KEYFILE | '********************' |
| EMAIL_SUBJECT_PREFIX | '[Django] ' |
| EMAIL_TIMEOUT | None |
| EMAIL_USE_LOCALTIME | False |
| EMAIL_USE_SSL | False |
| EMAIL_USE_TLS | False |
| FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
| FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
| FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
| FILE_UPLOAD_PERMISSIONS | 420 |
| FILE_UPLOAD_TEMP_DIR | None |
| FIRST_DAY_OF_WEEK | 0 |
| FIXTURE_DIRS | [] |
| FORCE_SCRIPT_NAME | None |
| FORMAT_MODULE_PATH | None |
| FORMS_URLFIELD_ASSUME_HTTPS | False |
| FORM_RENDERER | 'django.forms.renderers.TemplatesSetting' |
| IGNORABLE_404_URLS | [] |
| IMAGEKIT_CACHEFILE_DIR | 'CACHE/images' |
| IMAGEKIT_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.hash' |
| IMAGEKIT_CACHE_BACKEND | 'default' |
| IMAGEKIT_CACHE_PREFIX | 'imagekit:' |
| IMAGEKIT_CACHE_TIMEOUT | 300 |
| IMAGEKIT_DEFAULT_CACHEFILE_BACKEND | 'imagekit.cachefiles.backends.Simple' |
| IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY | 'imagekit.cachefiles.strategies.JustInTime' |
| IMAGEKIT_DEFAULT_FILE_STORAGE | 'default' |
| IMAGEKIT_SPEC_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.source_name_as_path' |
| IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY | '********************' |
| INSTALLED_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize',
'simple_history',
'crispy_forms',
'crispy_bootstrap5',
'allauth',
'allauth.account',
'allauth.socialaccount',
'mozilla_django_oidc',
'django_extensions',
'markdownx',
'rules.apps.AutodiscoverRulesConfig',
'imagekit',
'waffle',
'django_htmx',
'cachalot',
'corsheaders',
'tos',
'tos_i18n',
'impersonate',
'rosetta',
'django_q',
'notifications',
'link_check',
'django_filters',
'users.apps.UsersConfig',
'lms_base.apps.LmsBaseConfig',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig',
'lms_ai.apps.LMSAiConfig',
'lms_assignment.apps.LMSAssignmentConfig',
'debug_toolbar') |
| INTERNAL_IPS | ['127.0.0.1'] |
| LANGUAGES | (('de', 'German'), ('en', 'English'), ('fr', 'French')) |
| LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur'] |
| LANGUAGE_CODE | 'de' |
| LANGUAGE_COOKIE_AGE | None |
| LANGUAGE_COOKIE_DOMAIN | None |
| LANGUAGE_COOKIE_HTTPONLY | False |
| LANGUAGE_COOKIE_NAME | 'django_language' |
| LANGUAGE_COOKIE_PATH | '/' |
| LANGUAGE_COOKIE_SAMESITE | None |
| LANGUAGE_COOKIE_SECURE | False |
| LANGUAGE_PUBLICATION_ENABLED | True |
| LINKCHECKER_CHECK_EXTERN | True |
| LINKCHECKER_IGNORE_PATTERNS | ['.*/admin/.*',
'.*/oidc/authenticate/\\?next=.*',
'.*\\.(jpe?g|png|gif|svg|webp|ico|pdf|mp4|avi|mov|css|js|json|xml|txt)$',
'.*/logout/.*',
'.*/login/.*',
'.*/#.*'] |
| LINKCHECKER_MAX_RETRIES | 3 |
| LINKCHECKER_NO_FOLLOW_PATTERNS | ['^https?://(?!nmc-tales-staging\\.nmc\\.unibas\\.ch/).*'] |
| LINKCHECKER_RECURSION_LEVEL | 5 |
| LINKCHECKER_RETRY_DELAY | 30 |
| LINKCHECKER_TIMEOUT | 10 |
| LINKCHECKER_URL | 'https://nmc-tales-staging.nmc.unibas.ch/' |
| LINKCHECKER_USER_AGENT | 'Tales-LinkChecker/1.0' |
| LOCALE_PATHS | ['/app/project/config/../locale'] |
| LOCAL_APPS | ('users.apps.UsersConfig',
'lms_base.apps.LmsBaseConfig',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig',
'lms_ai.apps.LMSAiConfig',
'lms_assignment.apps.LMSAssignmentConfig') |
| LOGGING | {'disable_existing_loggers': False,
'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} '
'{message}',
'style': '{'}},
'handlers': {'console': {'class': 'logging.StreamHandler',
'formatter': 'verbose'},
'mail_admins': {'class': 'django.utils.log.AdminEmailHandler',
'include_html': True,
'level': 'ERROR'}},
'loggers': {'django': {'handlers': ['console', 'mail_admins'],
'level': 'WARNING',
'propagate': True},
'django.request': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'django.security': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'fontTools': {'handlers': ['console'], 'level': 'ERROR'},
'lms_ai': {'handlers': ['console'], 'level': 'DEBUG'},
'tales': {'handlers': ['console'], 'level': 'INFO'},
'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}},
'root': {'handlers': ['console'], 'level': 'WARNING'},
'version': 1} |
| LOGGING_CONFIG | 'logging.config.dictConfig' |
| LOGIN_REDIRECT_URL | '/' |
| LOGIN_URL | 'account_login' |
| LOGOUT_REDIRECT_URL | '/' |
| MANAGERS | [] |
| MARKDOWNX_EDITOR_RESIZABLE | True |
| MARKDOWNX_IMAGE_MAX_SIZE | {'quality': 90, 'size': (1920, 5600)} |
| MARKDOWNX_MARKDOWNIFY_FUNCTION | 'lms_base.utils.markdownify' |
| MARKDOWNX_MARKDOWN_EXTENSIONS | ['markdown.extensions.extra',
'markdown.extensions.smarty',
'markdown.extensions.codehilite',
'markdown.extensions.fenced_code',
'markdown.extensions.attr_list',
'markdown.extensions.toc',
'utils.markdown_extensions',
'python_markdown_oembed_extension'] |
| MARKDOWNX_MEDIA_PATH | 'markdownx/' |
| MARKDOWNX_UPLOAD_URLS_PATH | '/markdownx/upload/' |
| MARKDOWNX_URLS_PATH | '/markdownx/markdownify/' |
| MEDIA_ROOT | '/app/project/media' |
| MEDIA_URL | '/media/' |
| MESSAGE_REAPPEAR_TIME | 600 |
| MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
| MIDDLEWARE | ['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'lms_tales.middleware.SetLocaleFoundInUserSettings',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'allauth.account.middleware.AccountMiddleware',
'impersonate.middleware.ImpersonateMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'simple_history.middleware.HistoryRequestMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
'waffle.middleware.WaffleMiddleware',
'django_htmx.middleware.HtmxMiddleware',
'lms_tales.middleware.TalesUserAgreementMiddleware',
'lms_tales.middleware.ScheduledMessagesMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware'] |
| MIGRATION_MODULES | {'tos': 'lms_tales.migrate.tos'} |
| MODELTRANSLATION_CUSTOM_FIELDS | ('JSONField',) |
| MODELTRANSLATION_DEFAULT_LANGUAGE | 'de' |
| MODELTRANSLATION_FALLBACK_LANGUAGES | ('de', 'en', 'fr') |
| MONTH_DAY_FORMAT | 'F j' |
| NOTIFICATIONS_NOTIFICATION_MODEL | 'lms_notifications.Notification' |
| NUMBER_GROUPING | 0 |
| OIDC_OP_AUTHORIZATION_ENDPOINT | '********************' |
| OIDC_OP_JWKS_ENDPOINT | 'https://login.eduid.ch/idp/profile/oidc/keyset' |
| OIDC_OP_TOKEN_ENDPOINT | '********************' |
| OIDC_OP_USER_ENDPOINT | 'https://login.eduid.ch/idp/profile/oidc/userinfo' |
| OIDC_RP_CLIENT_ID | 'unibas-tales-staging' |
| OIDC_RP_CLIENT_SECRET | '********************' |
| OIDC_RP_SCOPES | 'openid email profile https://login.eduid.ch/authz/User.Read' |
| OIDC_RP_SIGN_ALGO | 'RS256' |
| OIDC_TOKEN_USE_BASIC_AUTH | '********************' |
| OPENAI_API_KEY | '********************' |
| OPENAI_BASE_URL | 'http://nmc-macmini1.nmc.unibas.ch/api/v1' |
| OPENAI_MODEL | 'granite4:small-h' |
| PASSWORD_HASHERS | '********************' |
| PASSWORD_RESET_TIMEOUT | '********************' |
| PREPEND_WWW | False |
| PROJECT_DIR | '/app/project/config/../' |
| Q_CLUSTER | {'catch_up': False,
'django_redis': 'default',
'max_attempts': 5,
'name': 'QCluster',
'recycle': 50,
'retry': 7500,
'timeout': 7200,
'workers': 2} |
| REDIS_STREAM_MAX_LENGTH | 1000 |
| RELEASE_NAME | '' |
| REQUIRE_SUPERUSER | True |
| ROOT_URLCONF | 'config.urls' |
| ROSETTA_ENABLE_TRANSLATION_SUGGESTIONS | True |
| ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE | 'de' |
| ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME | 'Deutsch' |
| ROSETTA_SHOW_AT_ADMIN_PANEL | 'True' |
| SECRET_KEY | '********************' |
| SECRET_KEY_FALLBACKS | '********************' |
| SECURE_CONTENT_TYPE_NOSNIFF | True |
| SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
| SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
| SECURE_HSTS_PRELOAD | False |
| SECURE_HSTS_SECONDS | 0 |
| SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
| SECURE_REDIRECT_EXEMPT | [] |
| SECURE_REFERRER_POLICY | 'same-origin' |
| SECURE_SSL_HOST | None |
| SECURE_SSL_REDIRECT | False |
| SERVER_EMAIL | 'root@localhost' |
| SESSION_CACHE_ALIAS | 'default' |
| SESSION_COOKIE_AGE | 1209600 |
| SESSION_COOKIE_DOMAIN | None |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'sessionid' |
| SESSION_COOKIE_PATH | '/' |
| SESSION_COOKIE_SAMESITE | None |
| SESSION_COOKIE_SECURE | False |
| SESSION_ENGINE | 'django.contrib.sessions.backends.cache' |
| SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
| SESSION_FILE_PATH | None |
| SESSION_SAVE_EVERY_REQUEST | False |
| SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
| SETTINGS_MODULE | 'config.settings.staging' |
| SHORT_DATETIME_FORMAT | 'm/d/Y P' |
| SHORT_DATE_FORMAT | 'm/d/Y' |
| SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
| SILENCED_SYSTEM_CHECKS | [] |
| SITE_DOMAIN | 'https://nmc-tales-staging.nmc.unibas.ch/' |
| SITE_ID | 1 |
| SLACK_WEBHOOK | 'https://hooks.slack.com/services/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' |
| SSE_HEARTBEAT_SEC | 15 |
| SSE_RETRY_MS | 5000 |
| STAGING_EMAIL_RECIPIENTS | ['notifications-nmc@unibas.ch'] |
| STATICFILES_DIRS | ['/app/project/config/../static'] |
| STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
| STATIC_ROOT | '/app/project/config/../../staticfiles' |
| STATIC_URL | '/static/' |
| STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
| TALES_BASE_URL | 'https://tales.nmc.unibas.ch' |
| TALES_VERSION | 'dev' |
| TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/app/project/config/../templates',
'/usr/local/lib/python3.12/site-packages/django/forms/templates'],
'OPTIONS': {'builtins': ['django.templatetags.i18n',
'django.templatetags.static'],
'context_processors': ['django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'utils.context_processors.ci_info'],
'debug': False,
'loaders': ['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']}}] |
| TEST_NON_SERIALIZED_APPS | [] |
| TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
| THIRD_PARTY_APPS | ('debug_toolbar',) |
| THOUSAND_SEPARATOR | ',' |
| TIME_FORMAT | 'P' |
| TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
| TIME_ZONE | 'Europe/Zurich' |
| USER_DEACTIVATION_AFTER_DAYS | 730 |
| USER_DELETION_AFTER_DAYS | 912 |
| USE_I18N | True |
| USE_THOUSAND_SEPARATOR | False |
| USE_TZ | True |
| USE_X_FORWARDED_HOST | True |
| USE_X_FORWARDED_PORT | False |
| VIEW_CACHE_TTL | 600 |
| WAFFLE_CREATE_MISSING_FLAGS | True |
| WAFFLE_CREATE_MISSING_SAMPLES | True |
| WAFFLE_CREATE_MISSING_SWITCHES | True |
| WAFFLE_LOG_MISSING_FLAGS | 30 |
| WAFFLE_LOG_MISSING_SAMPLES | 30 |
| WAFFLE_LOG_MISSING_SWITCHES | 30 |
| WSGI_APPLICATION | 'config.wsgi.application' |
| X_FRAME_OPTIONS | 'DENY' |
| YEAR_MONTH_FORMAT | 'F Y' |
| Key | Value |
|---|---|
| Accept | */* |
| Accept-Encoding | gzip, br, zstd, deflate |
| Host | nmc-tales-staging.nmc.unibas.ch |
| User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| Via | 2.0 Caddy |
| X-Forwarded-For | 216.73.216.159 |
| X-Forwarded-Host | nmc-tales-staging.nmc.unibas.ch |
| X-Forwarded-Proto | https |
| Key | Value |
|---|---|
| Content-Type | text/html; charset=utf-8 |
Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.
| Key | Value |
|---|---|
| PATH_INFO | /en/courses/ |
| QUERY_STRING | categories=3 |
| REMOTE_ADDR | 172.18.0.2 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | 0.0.0.0 |
| SERVER_PORT | 8000 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | gunicorn/23.0.0 |
| View function | Arguments | Keyword arguments | URL name |
|---|---|---|---|
lms_tales.views_filter_courses.new_filter_courses |
() |
{} |
tales:course_list |
| Variable | Value |
|---|---|
'categories' |
'3' |
| Query | Timeline | Time (ms) | Action | ||
|---|---|---|---|---|---|
|
SELECT "tags_tag"."id",
"tags_tag"."name", "tags_tag"."name_de", "tags_tag"."name_en", "tags_tag"."name_fr", "tags_tag"."slug", "tags_tag"."slug_de", "tags_tag"."slug_en", "tags_tag"."slug_fr", "tags_tag"."description", "tags_tag"."description_de", "tags_tag"."description_en", "tags_tag"."description_fr", "tags_tag"."icon", "tags_tag"."category_id" FROM "tags_tag" INNER JOIN "tags_category" ON ("tags_tag"."category_id" = "tags_category"."id") WHERE ("tags_category"."slug_en" = 'category' AND "tags_tag"."id" = 3) LIMIT 21SELECT ••• FROM "tags_tag" INNER JOIN "tags_category" ON ("tags_tag"."category_id" = "tags_category"."id") WHERE ("tags_category"."slug_en" = 'category' AND "tags_tag"."id" = 3) LIMIT 21 |
2.25 | ||||
|
Connection: default Transaction status: Idle /usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(199) c = self.get_render(context).flatten() /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(117) actual_form.form_html = helper.render_layout( /usr/local/lib/python3.12/site-packages/crispy_forms/helper.py in render_layout(276) html = self.layout.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(142) return self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(947) return self.get_rendered_fields( /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(137) html = template.render(context.flatten()) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320) match = condition.eval(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886) return self.value.resolve(context, ignore_failures=True) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925) current = current() /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in css_classes(227) if self.errors and hasattr(self.form, "error_css_class"): /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in errors(74) return self.form.errors.get( /usr/local/lib/python3.12/site-packages/django/forms/forms.py in errors(201) self.full_clean() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in full_clean(337) self._clean_fields() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in _clean_fields(345) self.cleaned_data[name] = field._clean_bound_field(bf) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in _clean_bound_field(273) return self.clean(value) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in clean(208) value = self.to_python(value) /usr/local/lib/python3.12/site-packages/django_filters/fields.py in to_python(311) return super().to_python(value) /usr/local/lib/python3.12/site-packages/django/forms/models.py in to_python(1564) value = self.queryset.get(**{key: value}) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65) result = execute_query_func() /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85) execute_query_func = lambda: original(compiler, *args, **kwargs) |
|||||
|
SELECT "lms_tales_talescourse"."id",
"lms_tales_talescourse"."created", "lms_tales_talescourse"."modified", "lms_tales_talescourse"."status", "lms_tales_talescourse"."status_changed", "lms_tales_talescourse"."is_removed", "lms_tales_talescourse"."published_languages", "lms_tales_talescourse"."title", "lms_tales_talescourse"."title_de", "lms_tales_talescourse"."title_en", "lms_tales_talescourse"."title_fr", "lms_tales_talescourse"."subtitle", "lms_tales_talescourse"."subtitle_de", "lms_tales_talescourse"."subtitle_en", "lms_tales_talescourse"."subtitle_fr", "lms_tales_talescourse"."short_description", "lms_tales_talescourse"."short_description_de", "lms_tales_talescourse"."short_description_en", "lms_tales_talescourse"."short_description_fr", "lms_tales_talescourse"."title_image", "lms_tales_talescourse"."slug", "lms_tales_talescourse"."content", "lms_tales_talescourse"."content_de", "lms_tales_talescourse"."content_en", "lms_tales_talescourse"."content_fr", "lms_tales_talescourse"."copyright", "lms_tales_talescourse"."copyright_de", "lms_tales_talescourse"."copyright_en", "lms_tales_talescourse"."copyright_fr", "lms_tales_talescourse"."course_contact" FROM "lms_tales_talescourse" INNER JOIN "lms_tales_talescourse_related_tags" ON ("lms_tales_talescourse"."id" = "lms_tales_talescourse_related_tags"."talescourse_id") WHERE (NOT "lms_tales_talescourse"."is_removed" AND "lms_tales_talescourse"."status" = 'published' AND "lms_tales_talescourse_related_tags"."tag_id" = 3) ORDER BY "lms_tales_talescourse"."title_en" ASCSELECT ••• FROM "lms_tales_talescourse" INNER JOIN "lms_tales_talescourse_related_tags" ON ("lms_tales_talescourse"."id" = "lms_tales_talescourse_related_tags"."talescourse_id") WHERE (NOT "lms_tales_talescourse"."is_removed" AND "lms_tales_talescourse"."status" = 'published' AND "lms_tales_talescourse_related_tags"."tag_id" = 3) ORDER BY "lms_tales_talescourse"."title_en" ASC |
4.50 | ||||
|
Connection: default Transaction status: Idle /usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326) if match: /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(65) result = execute_query_func() /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in <lambda>(85) execute_query_func = lambda: original(compiler, *args, **kwargs) |
|||||
| Path | Location |
|---|---|
| robots.txt | /app/project/static/robots.txt |
| alphorn_07.jpg | /app/project/static/alphorn_07.jpg |
| browserconfig.xml | /app/project/static/browserconfig.xml |
| alphorn_11.jpg | /app/project/static/alphorn_11.jpg |
| lottie/optimized_tales_banner2.mp4 | /app/project/static/lottie/optimized_tales_banner2.mp4 |
| lottie/optimized_tales_banner_av1.webm | /app/project/static/lottie/optimized_tales_banner_av1.webm |
| lottie/tales_banner3.mp4 | /app/project/static/lottie/tales_banner3.mp4 |
| lottie/optimized_tales_banner3.webm | /app/project/static/lottie/optimized_tales_banner3.webm |
| lottie/optimized_tales_banner2.webm | /app/project/static/lottie/optimized_tales_banner2.webm |
| lottie/tales_banner.json | /app/project/static/lottie/tales_banner.json |
| lottie/optimized_tales_banner3.mp4 | /app/project/static/lottie/optimized_tales_banner3.mp4 |
| lottie/optimized_tales_banner_av1.mp4 | /app/project/static/lottie/optimized_tales_banner_av1.mp4 |
| lottie/optimized_tales_banner.mp4 | /app/project/static/lottie/optimized_tales_banner.mp4 |
| lottie/tales_banner2.mp4 | /app/project/static/lottie/tales_banner2.mp4 |
| reporting/css/report_pdf.css.map | /app/project/static/reporting/css/report_pdf.css.map |
| reporting/css/report_pdf.css | /app/project/static/reporting/css/report_pdf.css |
| reporting/images/nmcunilogo.png | /app/project/static/reporting/images/nmcunilogo.png |
| reporting/images/background.jpg | /app/project/static/reporting/images/background.jpg |
| dropzone/dropzone.min.css | /app/project/static/dropzone/dropzone.min.css |
| dropzone/dropzone-amd-module.min.js | /app/project/static/dropzone/dropzone-amd-module.min.js |
| dropzone/basic.min.css | /app/project/static/dropzone/basic.min.css |
| dropzone/dropzone.min.js | /app/project/static/dropzone/dropzone.min.js |
| opos/4_4.html | /app/project/static/opos/4_4.html |
| opos/4_3.html | /app/project/static/opos/4_3.html |
| opos/4_5.html | /app/project/static/opos/4_5.html |
| opos/4_1.html | /app/project/static/opos/4_1.html |
| tales_editor/favicon.ico | /app/project/static/tales_editor/favicon.ico |
| tales_editor/index.html | /app/project/static/tales_editor/index.html |
| tales_editor/css/chunk-vendors.css | /app/project/static/tales_editor/css/chunk-vendors.css |
| tales_editor/css/app.css | /app/project/static/tales_editor/css/app.css |
| tales_editor/img/bootstrap-icons.svg | /app/project/static/tales_editor/img/bootstrap-icons.svg |
| tales_editor/img/remixicon.symbol.svg | /app/project/static/tales_editor/img/remixicon.symbol.svg |
| tales_editor/js/app.js | /app/project/static/tales_editor/js/app.js |
| tales_editor/js/app.js.map | /app/project/static/tales_editor/js/app.js.map |
| tales_editor/js/chunk-vendors.js | /app/project/static/tales_editor/js/chunk-vendors.js |
| tales_editor/js/chunk-vendors.js.map | /app/project/static/tales_editor/js/chunk-vendors.js.map |
| images/opos_map_xs.png | /app/project/static/images/opos_map_xs.png |
| images/opos_map_xl.png | /app/project/static/images/opos_map_xl.png |
| images/edu-id-button-gray.png | /app/project/static/images/edu-id-button-gray.png |
| images/icon_tales_mint.png | /app/project/static/images/icon_tales_mint.png |
| images/favicon.ico | /app/project/static/images/favicon.ico |
| images/door.jpg | /app/project/static/images/door.jpg |
| images/icon_tales_transp_32x32.png | /app/project/static/images/icon_tales_transp_32x32.png |
| images/uni-basel-logo-de.svg | /app/project/static/images/uni-basel-logo-de.svg |
| images/raymond_ammann.jpg | /app/project/static/images/raymond_ammann.jpg |
| images/help_en.jpg | /app/project/static/images/help_en.jpg |
| images/opos_map_xs.avif | /app/project/static/images/opos_map_xs.avif |
| images/opos_map_md.png | /app/project/static/images/opos_map_md.png |
| images/help_de.jpg | /app/project/static/images/help_de.jpg |
| images/bild.png | /app/project/static/images/bild.png |
| images/help.jpg | /app/project/static/images/help.jpg |
| images/Hochformat.jpg | /app/project/static/images/Hochformat.jpg |
| images/empty_classroom.jpg | /app/project/static/images/empty_classroom.jpg |
| images/uni-basel-logo-de.png | /app/project/static/images/uni-basel-logo-de.png |
| images/contact-side-image-1.jpg | /app/project/static/images/contact-side-image-1.jpg |
| images/icon_tales_white.png | /app/project/static/images/icon_tales_white.png |
| images/portalflag.png | /app/project/static/images/portalflag.png |
| images/uni-basel-logo-en.svg | /app/project/static/images/uni-basel-logo-en.svg |
| images/contact-side-image-2.jpg | /app/project/static/images/contact-side-image-2.jpg |
| images/alp_und_hirtenhorn.jpg | /app/project/static/images/alp_und_hirtenhorn.jpg |
| images/icon_tales_transp.png | /app/project/static/images/icon_tales_transp.png |
| images/Weltkarte_Opos.png | /app/project/static/images/Weltkarte_Opos.png |
| images/batkitty.jpg | /app/project/static/images/batkitty.jpg |
| images/help_fr.jpg | /app/project/static/images/help_fr.jpg |
| nahtkurs_glossar/antikoagu.jpg | /app/project/static/nahtkurs_glossar/antikoagu.jpg |
| nahtkurs_glossar/anamnese.jpg | /app/project/static/nahtkurs_glossar/anamnese.jpg |
| nahtkurs_glossar/wundinfektion.jpg | /app/project/static/nahtkurs_glossar/wundinfektion.jpg |
| nahtkurs_glossar/tensilestength.jpg | /app/project/static/nahtkurs_glossar/tensilestength.jpg |
| nahtkurs_glossar/glucose.jpg | /app/project/static/nahtkurs_glossar/glucose.jpg |
| nahtkurs_glossar/nacl.jpg | /app/project/static/nahtkurs_glossar/nacl.jpg |
| sounds/temperiert_nr_7.mp3 | /app/project/static/sounds/temperiert_nr_7.mp3 |
| sounds/alphorn_13.mp3 | /app/project/static/sounds/alphorn_13.mp3 |
| sounds/alphorn_05.mp3 | /app/project/static/sounds/alphorn_05.mp3 |
| sounds/alphorn_11.mp3 | /app/project/static/sounds/alphorn_11.mp3 |
| sounds/naturton_nr_7.mp3 | /app/project/static/sounds/naturton_nr_7.mp3 |
| sounds/hirtenhorn_04.mp3 | /app/project/static/sounds/hirtenhorn_04.mp3 |
| sounds/alphorn_14.mp3 | /app/project/static/sounds/alphorn_14.mp3 |
| sounds/alphorn_01.mp3 | /app/project/static/sounds/alphorn_01.mp3 |
| sounds/alphorn_12.mp3 | /app/project/static/sounds/alphorn_12.mp3 |
| sounds/alphorn_02.mp3 | /app/project/static/sounds/alphorn_02.mp3 |
| sounds/alphorn_09.mp3 | /app/project/static/sounds/alphorn_09.mp3 |
| sounds/alphorn_04.mp3 | /app/project/static/sounds/alphorn_04.mp3 |
| sounds/alphorn_15.mp3 | /app/project/static/sounds/alphorn_15.mp3 |
| sounds/hirtenhorn_07.mp3 | /app/project/static/sounds/hirtenhorn_07.mp3 |
| sounds/alphorn_08.mp3 | /app/project/static/sounds/alphorn_08.mp3 |
| sounds/alphorn_03.mp3 | /app/project/static/sounds/alphorn_03.mp3 |
| sounds/hirtenhorn_02.mp3 | /app/project/static/sounds/hirtenhorn_02.mp3 |
| sounds/alphorn_10.mp3 | /app/project/static/sounds/alphorn_10.mp3 |
| sounds/hirtenhorn_01.mp3 | /app/project/static/sounds/hirtenhorn_01.mp3 |
| sounds/hirtenhorn_06.mp3 | /app/project/static/sounds/hirtenhorn_06.mp3 |
| sounds/alphorn_07.mp3 | /app/project/static/sounds/alphorn_07.mp3 |
| sounds/temperiert_nr_11.mp3 | /app/project/static/sounds/temperiert_nr_11.mp3 |
| sounds/hirtenhorn_08.mp3 | /app/project/static/sounds/hirtenhorn_08.mp3 |
| sounds/naturton_nr_11.mp3 | /app/project/static/sounds/naturton_nr_11.mp3 |
| sounds/alphorn_16.mp3 | /app/project/static/sounds/alphorn_16.mp3 |
| sounds/hirtenhorn_05.mp3 | /app/project/static/sounds/hirtenhorn_05.mp3 |
| sounds/hirtenhorn_03.mp3 | /app/project/static/sounds/hirtenhorn_03.mp3 |
| sounds/alphorn_06.mp3 | /app/project/static/sounds/alphorn_06.mp3 |
| Path | Location |
|---|---|
| modeltranslation/css/tabbed_translation_fields.css | /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css |
| modeltranslation/js/clearable_inputs.js | /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js |
| modeltranslation/js/tabbed_translation_fields.js | /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js |
| modeltranslation/js/force_jquery.js | /usr/local/lib/python3.12/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js |
| admin/css/autocomplete.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/autocomplete.css |
| admin/css/responsive.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive.css |
| admin/css/widgets.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/widgets.css |
| admin/css/changelists.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/changelists.css |
| admin/css/unusable_password_field.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/unusable_password_field.css |
| admin/css/dark_mode.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dark_mode.css |
| admin/css/responsive_rtl.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css |
| admin/css/nav_sidebar.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css |
| admin/css/dashboard.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dashboard.css |
| admin/css/forms.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/forms.css |
| admin/css/rtl.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/rtl.css |
| admin/css/login.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/login.css |
| admin/css/base.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/base.css |
| admin/css/vendor/select2/select2.min.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css |
| admin/css/vendor/select2/select2.css | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css |
| admin/css/vendor/select2/LICENSE-SELECT2.md | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md |
| admin/img/icon-clock.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg |
| admin/img/sorting-icons.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg |
| admin/img/icon-alert.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg |
| admin/img/icon-changelink.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg |
| admin/img/selector-icons.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg |
| admin/img/calendar-icons.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg |
| admin/img/tooltag-arrowright.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg |
| admin/img/inline-delete.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg |
| admin/img/icon-yes.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg |
| admin/img/icon-unknown-alt.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg |
| admin/img/icon-viewlink.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg |
| admin/img/search.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/search.svg |
| admin/img/icon-deletelink.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg |
| admin/img/icon-hidelink.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-hidelink.svg |
| admin/img/README.txt | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/README.txt |
| admin/img/LICENSE | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/LICENSE |
| admin/img/icon-calendar.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg |
| admin/img/tooltag-add.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg |
| admin/img/icon-unknown.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg |
| admin/img/icon-addlink.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg |
| admin/img/icon-no.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-no.svg |
| admin/img/gis/move_vertex_off.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg |
| admin/img/gis/move_vertex_on.svg | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg |
| admin/js/SelectBox.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectBox.js |
| admin/js/jquery.init.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/jquery.init.js |
| admin/js/inlines.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/inlines.js |
| admin/js/filters.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/filters.js |
| admin/js/unusable_password_field.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/unusable_password_field.js |
| admin/js/change_form.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/change_form.js |
| admin/js/autocomplete.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/autocomplete.js |
| admin/js/nav_sidebar.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js |
| admin/js/popup_response.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/popup_response.js |
| admin/js/SelectFilter2.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js |
| admin/js/actions.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/actions.js |
| admin/js/core.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/core.js |
| admin/js/cancel.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/cancel.js |
| admin/js/prepopulate.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate.js |
| admin/js/urlify.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/urlify.js |
| admin/js/calendar.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/calendar.js |
| admin/js/prepopulate_init.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js |
| admin/js/theme.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/theme.js |
| admin/js/admin/DateTimeShortcuts.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js |
| admin/js/admin/RelatedObjectLookups.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js |
| admin/js/vendor/select2/select2.full.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js |
| admin/js/vendor/select2/select2.full.min.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js |
| admin/js/vendor/select2/LICENSE.md | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md |
| admin/js/vendor/select2/i18n/zh-CN.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js |
| admin/js/vendor/select2/i18n/sr-Cyrl.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js |
| admin/js/vendor/select2/i18n/uk.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js |
| admin/js/vendor/select2/i18n/ar.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js |
| admin/js/vendor/select2/i18n/ka.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js |
| admin/js/vendor/select2/i18n/bn.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js |
| admin/js/vendor/select2/i18n/pt.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js |
| admin/js/vendor/select2/i18n/hi.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js |
| admin/js/vendor/select2/i18n/dsb.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js |
| admin/js/vendor/select2/i18n/bs.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js |
| admin/js/vendor/select2/i18n/ru.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js |
| admin/js/vendor/select2/i18n/ms.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js |
| admin/js/vendor/select2/i18n/et.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js |
| admin/js/vendor/select2/i18n/sl.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js |
| admin/js/vendor/select2/i18n/he.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js |
| admin/js/vendor/select2/i18n/is.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js |
| admin/js/vendor/select2/i18n/cs.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js |
| admin/js/vendor/select2/i18n/sq.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js |
| admin/js/vendor/select2/i18n/sv.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js |
| admin/js/vendor/select2/i18n/ne.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js |
| admin/js/vendor/select2/i18n/ko.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js |
| admin/js/vendor/select2/i18n/vi.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js |
| admin/js/vendor/select2/i18n/ca.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js |
| admin/js/vendor/select2/i18n/id.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js |
| admin/js/vendor/select2/i18n/nb.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js |
| admin/js/vendor/select2/i18n/hr.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js |
| admin/js/vendor/select2/i18n/af.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js |
| admin/js/vendor/select2/i18n/de.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js |
| admin/js/vendor/select2/i18n/mk.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js |
| admin/js/vendor/select2/i18n/hy.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js |
| admin/js/vendor/select2/i18n/it.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js |
| admin/js/vendor/select2/i18n/hu.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js |
| admin/js/vendor/select2/i18n/ja.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js |
| admin/js/vendor/select2/i18n/sk.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js |
| admin/js/vendor/select2/i18n/hsb.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js |
| admin/js/vendor/select2/i18n/ro.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js |
| admin/js/vendor/select2/i18n/en.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js |
| admin/js/vendor/select2/i18n/el.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js |
| admin/js/vendor/select2/i18n/fa.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js |
| admin/js/vendor/select2/i18n/pt-BR.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js |
| admin/js/vendor/select2/i18n/da.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js |
| admin/js/vendor/select2/i18n/sr.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js |
| admin/js/vendor/select2/i18n/ps.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js |
| admin/js/vendor/select2/i18n/lt.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js |
| admin/js/vendor/select2/i18n/az.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js |
| admin/js/vendor/select2/i18n/fr.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js |
| admin/js/vendor/select2/i18n/fi.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js |
| admin/js/vendor/select2/i18n/tk.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js |
| admin/js/vendor/select2/i18n/th.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js |
| admin/js/vendor/select2/i18n/gl.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js |
| admin/js/vendor/select2/i18n/eu.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js |
| admin/js/vendor/select2/i18n/es.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js |
| admin/js/vendor/select2/i18n/km.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js |
| admin/js/vendor/select2/i18n/bg.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js |
| admin/js/vendor/select2/i18n/lv.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js |
| admin/js/vendor/select2/i18n/zh-TW.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js |
| admin/js/vendor/select2/i18n/pl.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js |
| admin/js/vendor/select2/i18n/tr.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js |
| admin/js/vendor/select2/i18n/nl.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js |
| admin/js/vendor/xregexp/xregexp.min.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js |
| admin/js/vendor/xregexp/LICENSE.txt | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt |
| admin/js/vendor/xregexp/xregexp.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js |
| admin/js/vendor/jquery/jquery.min.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js |
| admin/js/vendor/jquery/jquery.js | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js |
| admin/js/vendor/jquery/LICENSE.txt | /usr/local/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt |
| account/js/account.js | /usr/local/lib/python3.12/site-packages/allauth/account/static/account/js/account.js |
| account/js/onload.js | /usr/local/lib/python3.12/site-packages/allauth/account/static/account/js/onload.js |
| django_extensions/css/jquery.autocomplete.css | /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css |
| django_extensions/img/indicator.gif | /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/img/indicator.gif |
| django_extensions/js/jquery.ajaxQueue.js | /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js |
| django_extensions/js/jquery.autocomplete.js | /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js |
| django_extensions/js/jquery.bgiframe.js | /usr/local/lib/python3.12/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js |
| markdownx/admin/css/markdownx.css | /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/admin/css/markdownx.css |
| markdownx/admin/css/markdownx.min.css | /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/admin/css/markdownx.min.css |
| markdownx/js/markdownx.min.js | /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/js/markdownx.min.js |
| markdownx/js/markdownx.js | /usr/local/lib/python3.12/site-packages/markdownx/static/markdownx/js/markdownx.js |
| django_htmx/htmx.min.js | /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/htmx.min.js |
| django_htmx/htmx.js | /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/htmx.js |
| django_htmx/django-htmx.js | /usr/local/lib/python3.12/site-packages/django_htmx/static/django_htmx/django-htmx.js |
| admin/rosetta/css/rosetta.css | /usr/local/lib/python3.12/site-packages/rosetta/static/admin/rosetta/css/rosetta.css |
| admin/rosetta/js/rosetta.js | /usr/local/lib/python3.12/site-packages/rosetta/static/admin/rosetta/js/rosetta.js |
| admin/img/icon_searchbox_rosetta.png | /usr/local/lib/python3.12/site-packages/rosetta/static/admin/img/icon_searchbox_rosetta.png |
| notifications/notify.js | /usr/local/lib/python3.12/site-packages/notifications/static/notifications/notify.js |
| lms_base/fonts/Inter-VariableFont_opsz,wght.ttf | /app/project/lms_base/static/lms_base/fonts/Inter-VariableFont_opsz,wght.ttf |
| lms_base/fonts/PTSerif-BoldItalic.ttf | /app/project/lms_base/static/lms_base/fonts/PTSerif-BoldItalic.ttf |
| lms_base/fonts/PTSerif-Regular.ttf | /app/project/lms_base/static/lms_base/fonts/PTSerif-Regular.ttf |
| lms_base/fonts/Inter-Italic-VariableFont_opsz,wght.ttf | /app/project/lms_base/static/lms_base/fonts/Inter-Italic-VariableFont_opsz,wght.ttf |
| lms_base/fonts/PTSerif-Italic.ttf | /app/project/lms_base/static/lms_base/fonts/PTSerif-Italic.ttf |
| lms_base/fonts/PTSerif-Bold.ttf | /app/project/lms_base/static/lms_base/fonts/PTSerif-Bold.ttf |
| lms_base/css/lms_base_main.css | /app/project/lms_base/static/lms_base/css/lms_base_main.css |
| lms_base/css/_codehilite_dark.css | /app/project/lms_base/static/lms_base/css/_codehilite_dark.css |
| lms_base/css/_lms_base_variables.css | /app/project/lms_base/static/lms_base/css/_lms_base_variables.css |
| lms_base/css/_lms_base.css | /app/project/lms_base/static/lms_base/css/_lms_base.css |
| lms_base/css/_codehilite.css | /app/project/lms_base/static/lms_base/css/_codehilite.css |
| lms_base/css/_codehilite_light.css | /app/project/lms_base/static/lms_base/css/_codehilite_light.css |
| lms_base/css/fonts.css | /app/project/lms_base/static/lms_base/css/fonts.css |
| lms_base/css/_lms_tales.css | /app/project/lms_base/static/lms_base/css/_lms_tales.css |
| lms_base/css/_search.css | /app/project/lms_base/static/lms_base/css/_search.css |
| lms_base/js/lms_base.js | /app/project/lms_base/static/lms_base/js/lms_base.js |
| browserconfig.xml | /app/project/lms_tales/static/browserconfig.xml |
| lms_tales/js/lms_tales.js | /app/project/lms_tales/static/lms_tales/js/lms_tales.js |
| reporting/bar-chart.png | /app/project/reporting/static/reporting/bar-chart.png |
| reporting/js/runtime.js | /app/project/reporting/static/reporting/js/runtime.js |
| reporting/js/index.js | /app/project/reporting/static/reporting/js/index.js |
| reporting/js/views_summary.js | /app/project/reporting/static/reporting/js/views_summary.js |
| debug_toolbar/css/toolbar.css | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css |
| debug_toolbar/css/print.css | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/print.css |
| debug_toolbar/js/utils.js | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js |
| debug_toolbar/js/toolbar.js | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js |
| debug_toolbar/js/history.js | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/history.js |
| debug_toolbar/js/timer.js | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js |
| debug_toolbar/js/redirect.js | /usr/local/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js |
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="ma'>, <Block Node: messages. Contents: [<TextNode: '\n '>, <TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/tales-messages.html"'>>, <TextNode: '\n '>]>, <TextNode: '\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n '>]>}
{'block': <Block Node: messages. Contents: [<TextNode: '\n '>, <TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/tales-messages.html"'>>, <TextNode: '\n '>]>}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efc13380>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark" placeholder="Search by title"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efc13380>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark" placeholder="Search by title"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efc13380>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark" placeholder="Search by title"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efc13380>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark" placeholder="Search by title"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'div': <crispy_forms.layout.Column object at 0x7882f44fba40>,
'fields': '\n'
'\n'
'\n'
' \n'
' <div id="div_id_title" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_title" class="form-label">\n'
' Title\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' <input type="text" name="title" '
'class="rounded-0 border-dark textinput form-control" '
'placeholder="Search by title" id="id_title">\n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f443fa10>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f443fa10>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f443fa10>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f443fa10>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'div': <crispy_forms.layout.Column object at 0x7882f44fa120>,
'fields': '\n'
'\n'
'\n'
' \n'
' <div id="div_id_categories" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_categories" class="form-label">\n'
' Category\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="categories" '
'class="rounded-0 border-dark select form-select" '
'id="id_categories">\n'
' <option value="">All Categories</option>\n'
'\n'
' <option value="8">Digital Skills</option>\n'
'\n'
' <option value="7">Ethics</option>\n'
'\n'
' <option value="1">Anthropology</option>\n'
'\n'
' <option value="4">History</option>\n'
'\n'
' <option value="5">Learning and Teaching</option>\n'
'\n'
' <option value="13">Literature</option>\n'
'\n'
' <option value="9">Media</option>\n'
'\n'
' <option value="3" selected>Medicine & Health Care</option>\n'
'\n'
' <option value="2">Music</option>\n'
'\n'
' <option value="12">Sustainability and Environment</option>\n'
'\n'
' <option value="11">Natural Sciences, Maths</option>\n'
'\n'
' <option value="14">Politics and Society</option>\n'
'\n'
' <option value="6">Psychology and Psychotherapy</option>\n'
'\n'
' <option value="10">Law</option>\n'
'\n'
' <option value="15">Economics and Management</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f9dca6c0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f9dca6c0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f9dca6c0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882f9dca6c0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'div': <crispy_forms.layout.Column object at 0x7882f44fb4a0>,
'fields': '\n'
'\n'
'\n'
' \n'
' <div id="div_id_languages" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_languages" class="form-label">\n'
' Language\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="languages" '
'class="rounded-0 border-dark select form-select" '
'id="id_languages">\n'
' <option value="" selected>All Languages</option>\n'
'\n'
' <option value="16">German</option>\n'
'\n'
' <option value="17">English</option>\n'
'\n'
' <option value="18">French</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efec87a0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efec87a0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efec87a0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field': <django.forms.boundfield.BoundField object at 0x7882efec87a0>,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': ' class="rounded-0 border-dark"',
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'labelclass': None,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'div': <crispy_forms.layout.Column object at 0x7882f44f9880>,
'fields': '\n'
'\n'
'\n'
' \n'
' <div id="div_id_order_by" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_order_by" class="form-label">\n'
' Order by\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="order_by" '
'class="rounded-0 border-dark csvselect form-select" '
'id="id_order_by">\n'
' <option value="title">Title (A - Z)</option>\n'
'\n'
' <option value="-title">Title (Z - A)</option>\n'
'\n'
' <option value="-metrics__interactions">Views (Most - '
'Least)</option>\n'
'\n'
' <option value="metrics__interactions">Views (Least - '
'Most)</option>\n'
'\n'
' <option value="-modified">Last modified (Recent - '
'Oldest)</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'}
{'False': False, 'None': None, 'True': True}
{'div': <crispy_forms.layout.Row object at 0x7882f44fb530>,
'fields': '<div \n'
' class="col-md-3" >\n'
' \n'
'\n'
'\n'
' \n'
' <div id="div_id_title" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_title" class="form-label">\n'
' Title\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' <input type="text" name="title" '
'class="rounded-0 border-dark textinput form-control" '
'placeholder="Search by title" id="id_title">\n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'
'\n'
'</div>\n'
'\n'
'\n'
'<div \n'
' class="col-md-3" >\n'
' \n'
'\n'
'\n'
' \n'
' <div id="div_id_categories" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_categories" class="form-label">\n'
' Category\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="categories" '
'class="rounded-0 border-dark select form-select" '
'id="id_categories">\n'
' <option value="">All Categories</option>\n'
'\n'
' <option value="8">Digital Skills</option>\n'
'\n'
' <option value="7">Ethics</option>\n'
'\n'
' <option value="1">Anthropology</option>\n'
'\n'
' <option value="4">History</option>\n'
'\n'
' <option value="5">Learning and Teaching</option>\n'
'\n'
' <option value="13">Literature</option>\n'
'\n'
' <option value="9">Media</option>\n'
'\n'
' <option value="3" selected>Medicine & Health Care</option>\n'
'\n'
' <option value="2">Music</option>\n'
'\n'
' <option value="12">Sustainability and Environment</option>\n'
'\n'
' <option value="11">Natural Sciences, Maths</option>\n'
'\n'
' <option value="14">Politics and Society</option>\n'
'\n'
' <option value="6">Psychology and Psychotherapy</option>\n'
'\n'
' <option value="10">Law</option>\n'
'\n'
' <option value="15">Economics and Management</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'
'\n'
'</div>\n'
'\n'
'\n'
'<div \n'
' class="col-md-2" >\n'
' \n'
'\n'
'\n'
' \n'
' <div id="div_id_languages" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_languages" class="form-label">\n'
' Language\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="languages" '
'class="rounded-0 border-dark select form-select" '
'id="id_languages">\n'
' <option value="" selected>All Languages</option>\n'
'\n'
' <option value="16">German</option>\n'
'\n'
' <option value="17">English</option>\n'
'\n'
' <option value="18">French</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'
'\n'
'</div>\n'
'\n'
'\n'
'<div \n'
' class="col-md-2 ms-auto" >\n'
' \n'
'\n'
'\n'
' \n'
' <div id="div_id_order_by" class="mb-3">\n'
' \n'
' \n'
' <label\n'
' for="id_order_by" class="form-label">\n'
' Order by\n'
' </label>\n'
' \n'
'\n'
' \n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' <select name="order_by" '
'class="rounded-0 border-dark csvselect form-select" '
'id="id_order_by">\n'
' <option value="title">Title (A - Z)</option>\n'
'\n'
' <option value="-title">Title (Z - A)</option>\n'
'\n'
' <option value="-metrics__interactions">Views (Most - '
'Least)</option>\n'
'\n'
' <option value="metrics__interactions">Views (Least - '
'Most)</option>\n'
'\n'
' <option value="-modified">Last modified (Recent - '
'Oldest)</option>\n'
'\n'
'</select>\n'
' \n'
' \n'
' \n'
' \n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
' \n'
'\n'
'\n'
'\n'
' \n'
' \n'
' \n'
' \n'
' \n'
' </div>\n'
' \n'
'\n'
'\n'
'</div>\n'
'\n'
'\n'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': '',
'form': <TalesCourseFilterForm bound=True, valid=True, fields=(title;categories;languages;order_by)>,
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': '',
'form': <TalesCourseFilterForm bound=True, valid=True, fields=(title;categories;languages;order_by)>,
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': '',
'form': <TalesCourseFilterForm bound=True, valid=True, fields=(title;categories;languages;order_by)>,
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'False': False,
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'None': None,
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'True': True,
'attrs': {},
'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>,
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'disable_csrf': False,
'error_text_inline': True,
'field_class': '',
'field_template': 'bootstrap5/field.html',
'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'flat_attrs': '',
'form': <TalesCourseFilterForm bound=True, valid=True, fields=(title;categories;languages;order_by)>,
'form_action': '',
'form_attrs': {},
'form_class': '',
'form_error_title': '',
'form_id': '',
'form_method': 'get',
'form_show_errors': True,
'form_show_labels': True,
'form_tag': True,
'formset_error_title': '',
'help_text_inline': False,
'include_media': True,
'inputs': [],
'is_bound': True,
'is_editor': False,
'is_formset': False,
'label_class': '',
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">',
'template_pack': 'bootstrap5',
'use_custom_control': True,
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'False': False, 'None': None, 'True': True}
{'CI_COMMIT_SHORT_SHA': 'c401eb2c',
'CI_COMMIT_TAG': '2.6.23',
'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'DEPLOY_ENV': 'staging',
'LANGUAGES': '<<languages>>',
'LANGUAGE_BIDI': False,
'LANGUAGE_CODE': 'en',
'MEDIA_URL': '/media/',
'RELEASE_NAME': '',
'STATIC_URL': '/static/',
'TIME_ZONE': 'Europe/Zurich',
'csrf_token': '<SimpleLazyObject: '
"'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>",
'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>,
'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>),
'request': '<<request>>',
'user': '<SimpleLazyObject: <SimpleLazyObject: '
'<django.contrib.auth.models.AnonymousUser object at '
'0x7882ef83d520>>>'}
{'filter': <lms_tales.filters.TalesCourseFilter object at 0x7882f44fb830>,
'is_editor': False,
'sentry_trace_meta': '<meta name="sentry-trace" '
'content="a567ddcdfadf42c9a9e27d2393653973-af52f2dc007af9d2-0"><meta '
'name="baggage" '
'content="sentry-trace_id=a567ddcdfadf42c9a9e27d2393653973,sentry-sample_rand=0.785415,sentry-environment=production,sentry-release=tales%40dev,sentry-public_key=7b87fbc6652f485cb8b4b6dfd63debe4,sentry-transaction=/de/courses/,sentry-sample_rate=0.01,sentry-sampled=false">'}
{'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="ma'>, <Block Node: messages. Contents: [<TextNode: '\n '>, <TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/tales-messages.html"'>>, <TextNode: '\n '>]>, <TextNode: '\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n '>]>}
{'block': <Block Node: content. Contents: [<TextNode: '\n <div class="containe'>, <URLNode view_name=''tales:course_list'' args=[] kwargs={} as=None>, <TextNode: '"\n hx-target="'>, <django.template.defaulttags.CsrfTokenNode object at 0x7882efc13620>, <TextNode: '\n '>, <crispy_forms.templatetags.crispy_forms_tags.CrispyFormNode object at 0x7882efc10710>, <TextNode: '\n </form>\n '>, <IncludeNode: template=<FilterExpression '"htmx/new_filtered_course_list.html"'>>, <TextNode: '\n </div>\n'>]>}
{'courses': '<<multilingualsoftdeletablequeryset of lms_tales.TalesCourse>>'}
{'csrf_token': <SimpleLazyObject: 'oqe77YF3cSp9n4W1zgoaiHuSEFubtkmUtW1Q9esvSwnG6NPjnDM2J7jdjydPj9mG'>}
{}
{'request': <WSGIRequest: GET '/en/courses/?categories=3'>}
{'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7882ef83d520>>>)}
{'LANGUAGES': (('de', 'German'), ('en', 'English'), ('fr', 'French')), 'LANGUAGE_CODE': 'en', 'LANGUAGE_BIDI': False}
{'MEDIA_URL': '/media/'}
{'STATIC_URL': '/static/'}
{'TIME_ZONE': 'Europe/Zurich'}
{'messages': <FallbackStorage: request=<WSGIRequest: GET '/en/courses/?categories=3'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
{'CI_COMMIT_TAG': '2.6.23', 'CI_COMMIT_SHORT_SHA': 'c401eb2c', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}
| Total calls | Total time | Cache hits | Cache misses |
|---|---|---|---|
| 15 | 6.500895018689334 ms | 83 | 2 |
| add | get | set | get_or_set | touch | delete | clear | get_many | set_many | delete_many | has_key | incr | decr | incr_version | decr_version |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 8 | 0 | 0 | 0 | 0 | 0 | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Time (ms) | Type | Arguments | Keyword arguments | Backend | |
|---|---|---|---|---|---|
| 1.1271 | get_many | (dict_keys(['b5ac959681ff06eff632d25a5961a4d3cad09b42', '542c27005f4e84288827ce70a7d49bc73324a5e7', '887f8247d0ff979264c73b069f790024b2aa98e1', 'a2cec6efb2cb51d9fcdc73ec65d0d02848d3205f', 'af167bf678e72a9b2a64d8869d420b8d25e96148', 'f2b266a5acd7f191551fca80dea8475d456a300c', 'e5890f0f95e54c95fc7d85ffd3cd8f5079a384eb', '7d22fa9ec7aaf50b239b17bb4529f27be72f4b3d', 'fab86eaeb6f68c1bd14e3c42d6a32fc63fe5c10b', '1671d58e08fb6227d160e4add3baac34f778006f', '5634047d837b3106d3997f0611a298a16f6754cb', '38c0c9db04f183fb89086db2a3a02d20d5c1cbda', '33cd0b10f8c2fd53802b0948820b8b58da6bb27c', 'dbdc4e6f3de4931fbb7e39044291d87c49a581a7', 'bf555e2c224baeeac5838ee69c053900ce037b1d', '452aaa2adbf5d826d715538ebfd87013a599bacd', '5ef73f3d610667d7836abd847979ad8d02582140', '28b4f1c78186b497fc0611b76d5609a36a170804', 'acd1c2a120952e0445e89d8a2cc8faa99cc73454', '3fdb5b63faddfa01f5ebd09a89b74c9b3ec742bf', 'bc41695a90f568da6f9c44d14dbb30130bea76db', '6d6bdc7046f6d1410bd41d09cd570831af97fd31', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d', '53be6fda1fd748ebf22448f6a7198ac840f72333', 'd34b8ed7c3bb0d3a712a5e42065744014bfe1542', '79e961accf5948510a59b713e9ce3e05149ecb9a', '278c8c5d27e7320e3af5c0e58455e4cde02b8a72', '6fba3302f986e5123578c49cb4b67a30260902ef', '2cba4b775af45bd99b4d40c0eeea58bc34f649af', 'c3887a52bdae91615f95386118c2933047f56eda', 'a8659af44b2a1917aa38ef15409b212aaf5fec76']),) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(40) self.collect_invalidations() /usr/local/lib/python3.12/site-packages/cachalot/panels.py in collect_invalidations(52) for cache_key, timestamp in cache.get_many( |
|||||
| 0.4015 | get_many | (['9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', 'a175fbf0a67b238ed9014fef66a4cd5d269575b6'],) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(199) c = self.get_render(context).flatten() /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(117) actual_form.form_html = helper.render_layout( /usr/local/lib/python3.12/site-packages/crispy_forms/helper.py in render_layout(276) html = self.layout.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(142) return self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(947) return self.get_rendered_fields( /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(137) html = template.render(context.flatten()) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320) match = condition.eval(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886) return self.value.resolve(context, ignore_failures=True) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925) current = current() /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in css_classes(227) if self.errors and hasattr(self.form, "error_css_class"): /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in errors(74) return self.form.errors.get( /usr/local/lib/python3.12/site-packages/django/forms/forms.py in errors(201) self.full_clean() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in full_clean(337) self._clean_fields() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in _clean_fields(345) self.cleaned_data[name] = field._clean_bound_field(bf) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in _clean_bound_field(273) return self.clean(value) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in clean(208) value = self.to_python(value) /usr/local/lib/python3.12/site-packages/django_filters/fields.py in to_python(311) return super().to_python(value) /usr/local/lib/python3.12/site-packages/django/forms/models.py in to_python(1564) value = self.queryset.get(**{key: value}) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47) data = cache.get_many(table_cache_keys + [cache_key]) |
|||||
| 0.4114 | set_many | ({'a175fbf0a67b238ed9014fef66a4cd5d269575b6': (1765717256.2651246, [[(3, 'Medizin & Gesundheitswesen', 'Medizin & Gesundheitswesen', 'Medicine & Health Care', 'Médecine & santé publique', 'medizin-gesundheitswesen', 'medizin-gesundheitswesen', 'medicine-health-care', 'medecine-sante-publique', 'Entdecken Sie eine Vielzahl von Kursen, die sich mit Medizin und Gesundheitswesen befassen.', 'Entdecken Sie eine Vielzahl von Kursen, die sich mit Medizin und Gesundheitswesen befassen.', 'Discover a variety of courses that deal with medicine and healthcare.', 'Découvrez une variété de cours qui traitent de la médecine et de la santé publique.', 'tags/icons/medizin_geswesen.svg', 1)]])}, None) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(199) c = self.get_render(context).flatten() /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(117) actual_form.form_html = helper.render_layout( /usr/local/lib/python3.12/site-packages/crispy_forms/helper.py in render_layout(276) html = self.layout.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(142) return self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(947) return self.get_rendered_fields( /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(137) html = template.render(context.flatten()) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(320) match = condition.eval(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in eval(886) return self.value.resolve(context, ignore_failures=True) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(925) current = current() /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in css_classes(227) if self.errors and hasattr(self.form, "error_css_class"): /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in errors(74) return self.form.errors.get( /usr/local/lib/python3.12/site-packages/django/forms/forms.py in errors(201) self.full_clean() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in full_clean(337) self._clean_fields() /usr/local/lib/python3.12/site-packages/django/forms/forms.py in _clean_fields(345) self.cleaned_data[name] = field._clean_bound_field(bf) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in _clean_bound_field(273) return self.clean(value) /usr/local/lib/python3.12/site-packages/django/forms/fields.py in clean(208) value = self.to_python(value) /usr/local/lib/python3.12/site-packages/django_filters/fields.py in to_python(311) return super().to_python(value) /usr/local/lib/python3.12/site-packages/django/forms/models.py in to_python(1564) value = self.queryset.get(**{key: value}) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76) cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT) |
|||||
| 0.4831 | get_many | (['9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '66d86a9d4d29d0b80e9d451d977c1867af11b41a'],) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(199) c = self.get_render(context).flatten() /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(117) actual_form.form_html = helper.render_layout( /usr/local/lib/python3.12/site-packages/crispy_forms/helper.py in render_layout(276) html = self.layout.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(142) return self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(947) return self.get_rendered_fields( /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(137) html = template.render(context.flatten()) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_field.py in render(125) return str(field) /usr/local/lib/python3.12/site-packages/django/forms/utils.py in __str__(79) return self.as_widget() /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in as_widget(108) return widget.render( /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in render(329) context = self.get_context(name, value, attrs) /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in get_context(830) context = super().get_context(name, value, attrs) /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in get_context(781) context["widget"]["optgroups"] = self.optgroups( /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in optgroups(721) for index, (option_value, option_label) in enumerate(self.choices): /usr/local/lib/python3.12/site-packages/django_filters/fields.py in __iter__(256) yield from iterable /usr/local/lib/python3.12/site-packages/django/forms/models.py in __iter__(1424) for obj in queryset: /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47) data = cache.get_many(table_cache_keys + [cache_key]) |
|||||
| 0.3854 | get_many | (['9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '06ab284e42bd3489f10391af938ec2310f0d9ca4'],) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(199) c = self.get_render(context).flatten() /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(117) actual_form.form_html = helper.render_layout( /usr/local/lib/python3.12/site-packages/crispy_forms/helper.py in render_layout(276) html = self.layout.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(142) return self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(748) fields = self.get_rendered_fields(form, context, template_pack, **kwargs) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(65) return field.render(form, context, template_pack=template_pack) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in render(947) return self.get_rendered_fields( /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in get_rendered_fields(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/layout.py in <genexpr>(105) "".join(render_field(field, form, context, template_pack=template_pack, **kwargs) for field in self.fields) /usr/local/lib/python3.12/site-packages/crispy_forms/utils.py in render_field(137) html = template.render(context.flatten()) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/crispy_forms/templatetags/crispy_forms_field.py in render(125) return str(field) /usr/local/lib/python3.12/site-packages/django/forms/utils.py in __str__(79) return self.as_widget() /usr/local/lib/python3.12/site-packages/django/forms/boundfield.py in as_widget(108) return widget.render( /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in render(329) context = self.get_context(name, value, attrs) /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in get_context(830) context = super().get_context(name, value, attrs) /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in get_context(781) context["widget"]["optgroups"] = self.optgroups( /usr/local/lib/python3.12/site-packages/django/forms/widgets.py in optgroups(721) for index, (option_value, option_label) in enumerate(self.choices): /usr/local/lib/python3.12/site-packages/django_filters/fields.py in __iter__(256) yield from iterable /usr/local/lib/python3.12/site-packages/django/forms/models.py in __iter__(1424) for obj in queryset: /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47) data = cache.get_many(table_cache_keys + [cache_key]) |
|||||
| 0.4214 | get_many | (['b6315cb80b5148d2e69ecec43051aa7717627164', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'f459da4506cb25129cfd586531b86a959629d3d8'],) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326) if match: /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(47) data = cache.get_many(table_cache_keys + [cache_key]) |
|||||
| 1.1967 | set_many | ({'f459da4506cb25129cfd586531b86a959629d3d8': (1765717256.3235593, [[(41, datetime.datetime(2022, 4, 11, 11, 42, 4, 164219, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 14, 5, 37, 471020, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 6, 10, 8, 3, 24, 81456, tzinfo=datetime.timezone.utc), False, '[]', 'Allergies: When the Immune System Backfires', None, 'Allergies: When the Immune System Backfires', None, '', None, None, None, 'Entdecken Sie, wie verschiedene Allergien heute verstanden, diagnostiziert und behandelt werden. Kurssprache: Englisch.', 'Entdecken Sie, wie verschiedene Allergien heute verstanden, diagnostiziert und behandelt werden. Kurssprache: Englisch.', 'Discover how different allergies are understood, diagnosed, and treated today. Course language: English.', "Découvrez comment les différentes allergies sont aujourd'hui comprises, diagnostiquées et traitées. Langue du cours : anglais.", 'allergies-when-the-immune-system-backfires/Course-Image-Castle_3.png', 'allergies-when-the-immune-system-backfires', 'The human immune system is designed to fight infection, but sometimes this defence mechanism provokes allergic disorders. In this course, you will explore the similarities and differences of infections and allergies, and understand the intricacies of the immune system.\r\n\r\nYou will address the events, mishaps, and discoveries that have led to a common understanding of allergies today. You will explore different types of allergies, like food allergies and hayfever, as well as allergy symptoms, methods of diagnosis, and different allergy treatments with the support of case studies.\r\n\r\n<br/>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', 'The human immune system is designed to fight infection, but sometimes this defence mechanism provokes allergic disorders. In this course, you will explore the similarities and differences of infections and allergies, and understand the intricacies of the immune system.\r\n\r\nYou will address the events, mishaps, and discoveries that have led to a common understanding of allergies today. You will explore different types of allergies, like food allergies and hayfever, as well as allergy symptoms, methods of diagnosis, and different allergy treatments with the support of case studies.\r\n\r\n<br/>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', 'University of Basel', '', 'University of Basel', '', ''), (40, datetime.datetime(2022, 4, 6, 9, 47, 40, 958932, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 13, 6, 35, 838880, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 6, 10, 8, 24, 13, 807077, tzinfo=datetime.timezone.utc), False, '[]', 'Examining African Contributions to Global Health', None, 'Examining African Contributions to Global Health', None, '', None, None, None, 'Entdecken Sie die Leistungen und den Einfluss afrikanischer Experten im globalen Gesundheitswesen. Kurssprache: Englisch.', 'Entdecken Sie die Leistungen und den Einfluss afrikanischer Experten im globalen Gesundheitswesen. Kurssprache: Englisch.', 'Discover the achievements and impact made by African experts in global healthcare. Course language: English.', "Découvrez les réalisations et l'influence des experts africains dans le domaine de la santé mondiale. Langue du cours : anglais.", 'examining-african-contributions-to-global-health/Course_Image_AFRICAN_contributions.jpg', 'examining-african-contributions-to-global-health', 'The history of science has largely been written from the perspective of the Global North. Therefore, the impact of the Global South has been neglected and undervalued. This course uncovers examples of the innovation and excellence that Africa has brought to global health over time.\r\n\r\n<br>\r\n\r\n#Use African ingenuity to improve public health worldwide \r\n\r\nAfrica has been at the forefront of the fight against COVID-19, having contributed 12.8% of the technologies used to respond to the pandemic. And African countries such as Senegal also did remarkably well in managing the pandemic. As you will learn in the case studies in this course, many African countries have overcome health challenges using innovative solutions that can benefit the world. You’ll explore theories, financing solutions, and technologies from Africa that can be used to uplift health systems across the world.\r\n\r\n<br>\r\n\r\n#Utilise the knowledge exchange of the Global South to inspire innovation\r\n\r\nAfrican countries have a wealth of knowledge that the Global North could benefit from.\r\nUsing the knowledge from this course, you will be able to identify problems relating to clinical trials and financing in the Global North and learn from innovative approaches in Africa. You will also learn about examples of knowledge exchange in the Global South and find connections between urban planning and public health that can be used to motivate transformation in global health.\r\n\r\n<br>\r\n\r\n#Learn with the experts in African Studies from the University of Basel\r\n\r\nThe University of Basel has a renowned Centre for African Studies, has one of the few chairs of African History in Europe, and is associated with one of the leading tropical medicine institutes in the world.\r\nThe experts are best placed to guide you in your journey, to broaden your horizons, and to improve your knowledge of the history of African contributions to global health.\r\n\r\n<br>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', 'The history of science has largely been written from the perspective of the Global North. Therefore, the impact of the Global South has been neglected and undervalued. This course uncovers examples of the innovation and excellence that Africa has brought to global health over time.\r\n\r\n<br>\r\n\r\n#Use African ingenuity to improve public health worldwide \r\n\r\nAfrica has been at the forefront of the fight against COVID-19, having contributed 12.8% of the technologies used to respond to the pandemic. And African countries such as Senegal also did remarkably well in managing the pandemic. As you will learn in the case studies in this course, many African countries have overcome health challenges using innovative solutions that can benefit the world. You’ll explore theories, financing solutions, and technologies from Africa that can be used to uplift health systems across the world.\r\n\r\n<br>\r\n\r\n#Utilise the knowledge exchange of the Global South to inspire innovation\r\n\r\nAfrican countries have a wealth of knowledge that the Global North could benefit from.\r\nUsing the knowledge from this course, you will be able to identify problems relating to clinical trials and financing in the Global North and learn from innovative approaches in Africa. You will also learn about examples of knowledge exchange in the Global South and find connections between urban planning and public health that can be used to motivate transformation in global health.\r\n\r\n<br>\r\n\r\n#Learn with the experts in African Studies from the University of Basel\r\n\r\nThe University of Basel has a renowned Centre for African Studies, has one of the few chairs of African History in Europe, and is associated with one of the leading tropical medicine institutes in the world.\r\nThe experts are best placed to guide you in your journey, to broaden your horizons, and to improve your knowledge of the history of African contributions to global health.\r\n\r\n<br>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', '', '', '', '', ''), (12, datetime.datetime(2020, 11, 2, 15, 9, 33, 652377, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 7, 1, 9, 21, 10, 863047, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2025, 7, 1, 8, 38, 28, 569433, tzinfo=datetime.timezone.utc), False, '["de"]', 'Histologie', 'Histologie', 'Histology', None, 'Herzlich willkommen zur virtuellen Mikroskopie', 'Herzlich willkommen zur virtuellen Mikroskopie', 'Welcome to virtual microscopy.', None, 'Dieser Kurs vermittelt allgemeine Histologie und mikroskopische Anatomie der Organe. Kurssprache: Deutsch.', 'Dieser Kurs vermittelt allgemeine Histologie und mikroskopische Anatomie der Organe. Kurssprache: Deutsch.', 'This course teaches general histology and microscopic anatomy of the organs. Course language: German.', "Ce cours enseigne l'histologie générale et l'anatomie microscopique des organes. Langue du cours : allemand.", 'histologie/Titelbild_Histologie_5.jpg', 'histologie', 'Der «Tales» Kurs Histologie ist zurzeit einer der erfolgreichsten Kurse der Medizinischen Fakultät der Universität Basel. Weit über 1 Million Zugriffe während der vergangenen vier Jahre zeugen von dem Bedürfnis nach histologischer Online-Information. Konzipiert für die Studierenden der Medizin, gliedert sich der Kurs in einen Teil «allgemeine Histologie» und einen Teil «Mikroskopische Anatomie» der Organe. Um das Spektrum der gezeigten Organe zu vervollständigen, sind im Jahr 2025 diverse zusätzliche Präparate neu hinzugefügt worden. Dank der guten Zusammenarbeit mit dem Anatomischen Institut der Universität, unter Frau Prof. M. Müller-Gerbl, die zwei Mitarbeiterinnen für die weiterführende Bearbeitung der Website zur Verfügung stellte, werden in Zukunft Frau Dr. O. Raabe und Frau Dr. H. Franz als Co-Autorinnen zeichnen.\r\n\r\nJedes histologische Präparat ist mit einer eigenen «Mikroskopier-Anleitung» ausgestattet, in der das Ziel der Untersuchung, Besonderheiten und die zu untersuchenden Präparatestellen aufgeführt sind. Diese Anleitungen können auch als PDF-Datei heruntergeladen werden.\r\n\r\nViele der verwendeten Fachausdrücke können im «[Glossarium](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/glossar-464)» nachgeschlagen und heruntergeladen werden. Verschiedene durch die Verarbeitung entstandenen Kunstprodukte können im Kapitel «[Artefakte](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/artefakte-463)» nachschaut werden.\r\n\r\nDer Kurs «Histologie» ist während zwei Jahren intensiver Arbeit erstellt worden. In der «[Danksagung](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/danksagung-465)» sind einige direkt oder indirekt an der Entstehung beteiligte Personen genannt.\r\n\r\nEs ist geplant, diesen Kurs in naher Zukunft auch in einer englischen Version unter «Tales» ins Netz zu stellen. \r\n\r\nRückmeldungen zum Kurs an den Autor oder die Co-Autorinnen sind jederzeit willkommen.', 'Der «Tales» Kurs Histologie ist zurzeit einer der erfolgreichsten Kurse der Medizinischen Fakultät der Universität Basel. Weit über 1 Million Zugriffe während der vergangenen vier Jahre zeugen von dem Bedürfnis nach histologischer Online-Information. Konzipiert für die Studierenden der Medizin, gliedert sich der Kurs in einen Teil «allgemeine Histologie» und einen Teil «Mikroskopische Anatomie» der Organe. Um das Spektrum der gezeigten Organe zu vervollständigen, sind im Jahr 2025 diverse zusätzliche Präparate neu hinzugefügt worden. Dank der guten Zusammenarbeit mit dem Anatomischen Institut der Universität, unter Frau Prof. M. Müller-Gerbl, die zwei Mitarbeiterinnen für die weiterführende Bearbeitung der Website zur Verfügung stellte, werden in Zukunft Frau Dr. O. Raabe und Frau Dr. H. Franz als Co-Autorinnen zeichnen.\r\n\r\nJedes histologische Präparat ist mit einer eigenen «Mikroskopier-Anleitung» ausgestattet, in der das Ziel der Untersuchung, Besonderheiten und die zu untersuchenden Präparatestellen aufgeführt sind. Diese Anleitungen können auch als PDF-Datei heruntergeladen werden.\r\n\r\nViele der verwendeten Fachausdrücke können im «[Glossarium](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/glossar-464)» nachgeschlagen und heruntergeladen werden. Verschiedene durch die Verarbeitung entstandenen Kunstprodukte können im Kapitel «[Artefakte](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/artefakte-463)» nachschaut werden.\r\n\r\nDer Kurs «Histologie» ist während zwei Jahren intensiver Arbeit erstellt worden. In der «[Danksagung](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/danksagung-465)» sind einige direkt oder indirekt an der Entstehung beteiligte Personen genannt.\r\n\r\nEs ist geplant, diesen Kurs in naher Zukunft auch in einer englischen Version unter «Tales» ins Netz zu stellen. \r\n\r\nRückmeldungen zum Kurs an den Autor oder die Co-Autorinnen sind jederzeit willkommen.', 'The “Tales” Histology course is currently one of the most successful courses at the Faculty of Medicine of the University of Basel. Well over 1 million accesses during the past four years demonstrate the need for histological online information. Designed for medical students, the course is divided into a section on “general histology” and a section on “Microscopic Anatomy” of the organs. To complete the spectrum of organs shown, various additional specimens have been newly added in 2025. Thanks to the good cooperation with the Anatomical Institute of the University, under Prof. M. Müller-Gerbl, who provided two employees for the further development of the website, Dr. O. Raabe and Dr. H. Franz will be credited as co-authors in the future.\r\n\r\nEach histological specimen is equipped with its own “Microscopy Guide”, which lists the aim of the examination, special features and the specimen sites to be examined. These guides can also be downloaded as a PDF file.\r\n\r\nMany of the technical terms used can be looked up and downloaded in the “[Glossary](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/glossar-464)”. Various artifacts created during processing can be viewed in the “[Artifacts](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/artefakte-463)” chapter.\r\n\r\nThe “Histology” course was created over two years of intensive work. Some of the people directly or indirectly involved in its creation are listed in the “[Acknowledgements](https://tales.nmc.unibas.ch/de/histologie-12/zusatzliche-informationen-64/danksagung-465)”.\r\n\r\nIt is planned to publish this course in English as well under “Tales” in the near future.\r\n\r\nFeedback on the course to the author or co-authors is welcome at any time.', '', 'Universität Basel', 'Universität Basel', 'University of Basel', '', 'Prof. Dr. Udo M. Spornitz\r\n\r\nEmail: [udo.spornitz@unibas.ch](mailto: udo.spornitz@unibas.ch)\r\n\r\nFeedback zu diesem Kurs, den Präparaten, den Informationsblättern etc. wird gerne vom Autor dieses Projekts Prof. Dr. Udo M. Spornitz, per Mail entgegengenommen.\r\n\r\nBITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine Verständnisfragen zur allgemeinen und mikroskopischen Anatomie. Wenden Sie sich für diese Fragen bitte an die für Sie zuständigen Dozierenden oder konsultieren Sie die entsprechenden Bücher der Histologie, Embryologie und Anatomie. Dieses Projekt kann die Lektüre eines Histologiebuches nicht ersetzen, ebenso wenig wie den Besuch der relevanten Vorlesungen zu den einzelnen Themen.'), (23, datetime.datetime(2020, 11, 2, 15, 9, 33, 652377, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 14, 16, 58, 594970, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 9, 20, 6, 37, 23, 610993, tzinfo=datetime.timezone.utc), False, '[]', 'Learning and Memory', None, 'Learning and Memory', None, '', None, None, None, 'This is an introductory course to human learning and memory. Course language: English.', 'Einführungskurs in das menschliche Lernen und Gedächtnis. Kurssprache: Englisch.', 'This is an introductory course to human learning and memory. Course language: English.', "Cours d'introduction à l'apprentissage et à la mémoire humaine. Langue du cours : anglais.", 'learning-and-memory/brain_kOvh625.png', 'learning-and-memory', 'Learning and memory are fundamental brain functions of all animals living on this planet.\r\n{.lead}\r\n\r\nFor humans, these cognitive abilities are indispensable for the acquisition and the passing on of knowledge, for self-reflection, the avoidance of dangers and, last but not least, for the successful passing of exams. Disturbed learning and memory functions occur in a variety of disorders, including dementias, which are characterized by memory deficits, and phobias, which are characterized by a strong aversive memory of a specific object or situation.\r\n \r\nThis is an introductory course to human learning and memory, which will cover the following topics: Overview of the human memory systems, methods to study learning and memory, declarative memory, memory deficits, short-term forms of memory, non-declarative memory, emotional memory and the phenomenon of superior memory. Here and there studies from our own group are presented to give an insight into memory research.\r\n \r\nThe course consists of short introductory videos to the topics, articles, links to external resources, and selected book chapters of "Cognitive Neuroscience: The Biology of the Mind; 5th Edition. Michael Gazzaniga, Richard B. Ivry, George R. Mangung".\r\n\r\nSome of the materials used in this course are freely accessible, others are only made freely accessible to students and members of the University of Basel who are enrolled in the course. The latter have access to such materials via [ADAM](https://adam.unibas.ch/login.php){:target="_blank"}. Please note that certain links are only available within the [eduroam network](https://its.unibas.ch/de/anleitungen/netzwerkzugang/){:target="_blank"} if they concern publications for which the university has a campus license. If you are a member of the University of Basel and want to access university resources from home, you will need to install a [VPN client](https://its.unibas.ch/de/anleitungen/netzwerkzugang/){:target="_blank"}.', '', 'Learning and memory are fundamental brain functions of all animals living on this planet.\r\n{.lead}\r\n\r\nFor humans, these cognitive abilities are indispensable for the acquisition and the passing on of knowledge, for self-reflection, the avoidance of dangers and, last but not least, for the successful passing of exams. Disturbed learning and memory functions occur in a variety of disorders, including dementias, which are characterized by memory deficits, and phobias, which are characterized by a strong aversive memory of a specific object or situation.\r\n \r\nThis is an introductory course to human learning and memory, which will cover the following topics: Overview of the human memory systems, methods to study learning and memory, declarative memory, memory deficits, short-term forms of memory, non-declarative memory, emotional memory and the phenomenon of superior memory. Here and there studies from our own group are presented to give an insight into memory research.\r\n \r\nThe course consists of short introductory videos to the topics, articles, links to external resources, and selected book chapters of "Cognitive Neuroscience: The Biology of the Mind; 5th Edition. Michael Gazzaniga, Richard B. Ivry, George R. Mangung".\r\n\r\nSome of the materials used in this course are freely accessible, others are only made freely accessible to students and members of the University of Basel who are enrolled in the course. The latter have access to such materials via [ADAM](https://adam.unibas.ch/login.php){:target="_blank"}. Please note that certain links are only available within the [eduroam network](https://its.unibas.ch/de/anleitungen/netzwerkzugang/){:target="_blank"} if they concern publications for which the university has a campus license. If you are a member of the University of Basel and want to access university resources from home, you will need to install a [VPN client](https://its.unibas.ch/de/anleitungen/netzwerkzugang/){:target="_blank"}.', '', '', '', '', '', ''), (13, datetime.datetime(2020, 11, 2, 15, 9, 33, 652377, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 14, 28, 12, 262295, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 11, 26, 8, 29, 25, 264808, tzinfo=datetime.timezone.utc), False, '[]', "One Health : Connecter les humains, les animaux et l'environnement", "One Health : Connecter les humains, les animaux et l'environnement", 'One Health: Connecting Humans, Animals and the Environment', "One Health : Connecter les humains, les animaux et l'environnement", '', None, None, None, 'Dieser Kurs erforscht One Health aus verschiedenen wissenschaftlichen Perspektiven. Kurssprachen: Französisch, Englisch.', 'Dieser Kurs erforscht One Health aus verschiedenen wissenschaftlichen Perspektiven. Kurssprachen: Französisch, Englisch.', 'This course explores how One Health works in practice, bringing together different scientific perspectives. Course languages: English, French.', 'Ce cours explore le fonctionnement pratique de One Health avec différentes perspectives scientifiques. Langues du cours : français, anglais.', 'one-health-french-test-version/Course_image_one_health_06_course_image_tales_var_Kopie.png', 'one-health-connecter-les-humains-les-animaux-et-lenvironnement', "A l'ère de la mondialisation, d’anciennes pathologies perdurent et de nouvelles se propagent plus rapidement que jamais grâce aux écosystèmes interconnectés et aux liens étroits existant entre l’être humain et les animaux. En mettant en évidence cette interdépendance, One Health appelle à une coopération renforcée entre la santé humaine et la santé animale. \r\n{.lead}\r\n\r\nCe cours explore le fonctionnement pratique de One Health en regroupant différentes perspectives scientifiques. Vous étudierez, par exemple, les données sur la couverture vaccinale et débattrez de l'amélioration de la sécurité sanitaire des aliments. Vous apprendrez à calculer la valeur ajoutée résultant de l'approche One Health à l'aide d'études de cas. \r\n\r\nIl vous suffit d'apporter à ce cours un intérêt pour les relations entre êtres humains et animaux dans différentes cultures. Vous n'avez pas besoin de connaissances préalables en médecine humaine ou vétérinaire. Il s’adresse aux non-professionnels, aux professionnels de la santé, aux politiques, aux ONG et aux étudiants en médecine vétérinaire et humaine du monde entier.\r\n\r\nPour participer à ce cours, il est utile de disposer d'un logiciel type feuille de calcul. Cependant, il est aussi possible de calculer les exemples à la main sur papier.\r\n\r\nUne version de ce cours a initialement été publiée sous la forme d’un MOOC (Massive Open Online Course). Pour cette raison tous les vidéos sont en Anglais. Si les sous-titres français vous gênent, appuyez sur le symbole cc en bas du lecteur vidéo pour les désélectionner. Vous pouvez aussi télécharger la transcription de chaque vidéo en bas de la page.\r\n \r\nL’ancienne structure du cours était divisée en semaines. Dans les vidéos, il y a donc quelques références à ce programme hebdomadaire. Dans le cours que vous allez suivre, les semaines ont été transformées en chapitres.\r\n \r\nLe cours actuel a été fait possible par le support de la [Direction du développement et de la coopération Suisse](https://www.eda.admin.ch/deza/fr/home.html)", "A l'ère de la mondialisation, d’anciennes pathologies perdurent et de nouvelles se propagent plus rapidement que jamais grâce aux écosystèmes interconnectés et aux liens étroits existant entre l’être humain et les animaux. En mettant en évidence cette interdépendance, One Health appelle à une coopération renforcée entre la santé humaine et la santé animale. \r\n{.lead}\r\n\r\nCe cours explore le fonctionnement pratique de One Health en regroupant différentes perspectives scientifiques. Vous étudierez, par exemple, les données sur la couverture vaccinale et débattrez de l'amélioration de la sécurité sanitaire des aliments. Vous apprendrez à calculer la valeur ajoutée résultant de l'approche One Health à l'aide d'études de cas. \r\n\r\nIl vous suffit d'apporter à ce cours un intérêt pour les relations entre êtres humains et animaux dans différentes cultures. Vous n'avez pas besoin de connaissances préalables en médecine humaine ou vétérinaire. Il s’adresse aux non-professionnels, aux professionnels de la santé, aux politiques, aux ONG et aux étudiants en médecine vétérinaire et humaine du monde entier.\r\n\r\nPour participer à ce cours, il est utile de disposer d'un logiciel type feuille de calcul. Cependant, il est aussi possible de calculer les exemples à la main sur papier.\r\n\r\nUne version de ce cours a initialement été publiée sous la forme d’un MOOC (Massive Open Online Course). Pour cette raison tous les vidéos sont en Anglais. Si les sous-titres français vous gênent, appuyez sur le symbole cc en bas du lecteur vidéo pour les désélectionner. Vous pouvez aussi télécharger la transcription de chaque vidéo en bas de la page.\r\n \r\nL’ancienne structure du cours était divisée en semaines. Dans les vidéos, il y a donc quelques références à ce programme hebdomadaire. Dans le cours que vous allez suivre, les semaines ont été transformées en chapitres.\r\n \r\nLe cours actuel a été fait possible par le support de la [Direction du développement et de la coopération Suisse](https://www.eda.admin.ch/deza/fr/home.html)", 'In today’s globalised world, old diseases pertain and new illnesses spread faster than ever thanks to interconnected ecosystems and the close ties between humans and animals. Stressing this interrelatedness, One Health calls for closer cooperation between human and animal health. \r\n{.lead}\r\n\r\nThis course explores how One Health works in practice, bringing together different scientific perspectives. You will, for instance, study vaccination coverage data and discuss food safety enhancement. You learn how to compute the added value resulting from the One Health approach using case studies. \r\n\r\nThe only thing you need to bring to this course is an interest in the relationship between human and animals in different cultures. You don’t need prior knowledge of human or veterinary medicine to benefit from this course - it addresses non-professionals as well as health professionals and those working in politics, NGOs, and students of veterinary and human medicine throughout the world.\r\n\r\nTo take part in this course it is helpful to have access to a spreadsheet calculation program. However, you may also calculate the examples by hand on paper. \r\n\r\nA version of this course was originally published as a MOOC (Massive Open Online Course)\r\nThe old course structure was divided into weeks. In the videos, there are therefore some references to this weekly programme. In the course you are about to follow, the weeks have been transformed into chapters. The current course was made possible by the support of the [Swiss Agency for Development and Cooperation](https://www.eda.admin.ch/deza/en/home.html){:target=“_blank”}.\r\n\r\n##Note##\r\nFrom **6 October 2024 until 12 January 2025** learners can log in, comment and take part in discussions with peers and lecturers, while the course content remains accessible to all. In order to comment, a login via [SWITCH edu-ID](https://eduid.ch/?lang=en){:target="_blank"} is required. The login-button is on the top right of this window.', 'A l\'ère de la mondialisation, d’anciennes pathologies perdurent et de nouvelles se propagent plus rapidement que jamais grâce aux écosystèmes interconnectés et aux liens étroits existant entre l’être humain et les animaux. En mettant en évidence cette interdépendance, One Health appelle à une coopération renforcée entre la santé humaine et la santé animale. \r\n{.lead}\r\n\r\nCe cours explore le fonctionnement pratique de One Health en regroupant différentes perspectives scientifiques. Vous étudierez, par exemple, les données sur la couverture vaccinale et débattrez de l\'amélioration de la sécurité sanitaire des aliments. Vous apprendrez à calculer la valeur ajoutée résultant de l\'approche One Health à l\'aide d\'études de cas. \r\n\r\nIl vous suffit d\'apporter à ce cours un intérêt pour les relations entre êtres humains et animaux dans différentes cultures. Vous n\'avez pas besoin de connaissances préalables en médecine humaine ou vétérinaire. Il s’adresse aux non-professionnels, aux professionnels de la santé, aux politiques, aux ONG et aux étudiants en médecine vétérinaire et humaine du monde entier.\r\n\r\nPour participer à ce cours, il est utile de disposer d\'un logiciel type feuille de calcul. Cependant, il est aussi possible de calculer les exemples à la main sur papier.\r\n\r\nUne version de ce cours a initialement été publiée sous la forme d’un MOOC (Massive Open Online Course). Pour cette raison tous les vidéos sont en Anglais. Si les sous-titres français vous gênent, appuyez sur le symbole cc en bas du lecteur vidéo pour les désélectionner. Vous pouvez aussi télécharger la transcription de chaque vidéo en bas de la page.\r\n \r\nL’ancienne structure du cours était divisée en semaines. Dans les vidéos, il y a donc quelques références à ce programme hebdomadaire. Dans le cours que vous allez suivre, les semaines ont été transformées en chapitres.\r\n \r\nLe cours actuel a été fait possible par le support de la [Direction du développement et de la coopération Suisse](https://www.eda.admin.ch/deza/fr/home.html)\r\n\r\n##Note##\r\nDu **6 octobre 2024 au 12 janvier 2025**, les apprenants peuvent s\'inscrire, commenter et participer à des discussions avec des pairs et des enseignants, tandis que le contenu du cours reste accessible à tous. Pour pouvoir commenter, il est nécessaire de se connecter via [SWITCH edu-ID](https://eduid.ch/?lang=fr){:target="_blank"}. Le bouton de connexion se trouve en haut à droite de la fenêtre.', 'Université de Bâle', 'Université de Bâle', 'University of Basel', 'Université de Bâle', 'Prof. Dr. Jakob Zinsstag \r\nSwiss Tropical and Public Health Institute (Swiss TPH)\r\nSocinstrasse 57 \r\n4051 Basel \r\n\r\nPhone: [+41 (0)61 284 81 11](tel:+41612848111) \r\nEmail : [jakob.zinsstag@swisstph.ch](mailto: jakob.zinsstag@swisstph.ch)'), (43, datetime.datetime(2022, 4, 12, 13, 37, 58, 799543, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 12, 52, 40, 669961, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 6, 10, 8, 39, 24, 146713, tzinfo=datetime.timezone.utc), False, '[]', 'The Resistant Mosquito', None, 'The Resistant Mosquito', None, 'Staying Ahead of the Game in the Fight against Malaria', None, 'Staying Ahead of the Game in the Fight against Malaria', None, 'Entdecken Sie Ansätze und Fortschritte im Kampf gegen die Malariamücke mit Hilfe des Insektizid-Resistenzmanagements. Kurssprache: Englisch.', 'Entdecken Sie Ansätze und Fortschritte im Kampf gegen die Malariamücke mit Hilfe des Insektizid-Resistenzmanagements. Kurssprache: Englisch.', 'Discover approaches and advances in our fight against the malaria mosquito using Insecticide Resistance Management. Course language: English.', 'Découvrez les progrès dans la lutte contre le moustique vecteur du paludisme grâce à la gestion de la résistance aux insecticides. En anglais.', 'the-resistant-mosquito/001.jpg', 'the-resistant-mosquito', 'Malaria has been the scourge of humanity for too long. Ever since scientists at the end of the 19th century discovered that the malaria parasite is transmitted by mosquitoes, controlling the ‘malaria mosquitoes’ has been the most effective tool against malaria. Yet as recently as 2020, there were still 241 million cases of malaria globally, and at least 627,000 deaths, the majority in sub-Saharan Africa.\r\n\r\nIn the last twenty years, there has been a significant increase in mosquito control interventions. The development and mass distribution of long-lasting insecticide-treated mosquito bed nets offered protection to millions of people from the bites of malaria-infected mosquitoes. Along with increased access to effective drugs to treat malaria and improved diagnostic tests, remarkable progress has been made in reducing the burden of malaria, bringing us closer to the goal of eliminating this disease. \r\n\r\nHowever, malaria mosquitoes are becoming resistant to the insecticides that have been so effective at controlling them. This course will look at why and how this is happening, its impact, and what can be practically done to address it. This helps us to remain ahead of the game in the fight against malaria.\r\n\r\n<br>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', 'Malaria has been the scourge of humanity for too long. Ever since scientists at the end of the 19th century discovered that the malaria parasite is transmitted by mosquitoes, controlling the ‘malaria mosquitoes’ has been the most effective tool against malaria. Yet as recently as 2020, there were still 241 million cases of malaria globally, and at least 627,000 deaths, the majority in sub-Saharan Africa.\r\n\r\nIn the last twenty years, there has been a significant increase in mosquito control interventions. The development and mass distribution of long-lasting insecticide-treated mosquito bed nets offered protection to millions of people from the bites of malaria-infected mosquitoes. Along with increased access to effective drugs to treat malaria and improved diagnostic tests, remarkable progress has been made in reducing the burden of malaria, bringing us closer to the goal of eliminating this disease. \r\n\r\nHowever, malaria mosquitoes are becoming resistant to the insecticides that have been so effective at controlling them. This course will look at why and how this is happening, its impact, and what can be practically done to address it. This helps us to remain ahead of the game in the fight against malaria.\r\n\r\n<br>\r\n\r\n#"Weeks", "Chapters" and invitation to comment\r\n \r\nPlease note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in **weeks** rather than in **chapters**.\r\n \r\nHere on Tales, we measure courses in **chapters**. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.\r\n \r\nAnother difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But **for certain periods of time announced in advance, this course will be open to comments**.\r\n \r\nThe good news is that either way, **you can freely access the course and all of its contents at any time**. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.', '', 'University of Basel', '', 'University of Basel', '', ''), (51, datetime.datetime(2023, 6, 28, 13, 7, 8, 719227, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 1, 9, 13, 16, 47, 844104, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 6, 10, 8, 30, 34, 685106, tzinfo=datetime.timezone.utc), False, '[]', 'Gesundheitliche Vorausplanung', 'Gesundheitliche Vorausplanung', None, None, '', None, None, None, '', None, None, None, 'gesundheitliche-vorausplanung-basel-stadt-und-baselland/Illustartion_Gespraech_1_4.png', 'gesundheitliche-vorausplanung', 'Im Gespräch mit dem oder der Patient:in geht es nicht nur um die Behandlung von Krankheiten, sondern auch um die Planung möglicher zukünftiger medizinischer Behandlungsentscheidungen. Hier kommt die Gesundheitliche Vorausplanung ins Spiel. \r\n{.lead}\r\n\r\nDoch was genau beinhaltet diese und weshalb ist sie wichtig? In diesem Kurs lernen Sie die Gesundheitliche Vorausplanung kennen und erfahren, wie dieses Instrument hilfreich eingesetzt werden kann. \r\n \r\nDas erste Kapitel führt Sie in die Inhalte, die Ziele und die Modelle der Gesundheitlichen Vorausplanung ein. Wir stellen Ihnen das Modell vor, das für die Region Basel-Stadt und Baselland entwickelt wurde. Im zweiten Kapitel zeigen wir auf, wie Sie als medizinische Fachperson eine Gesundheitliche Vorausplanung im Einzelfall umsetzen können. Beide Kapitel enthalten sowohl theoretische als auch praktische Inputs und konkrete Fallbeispiele. \r\n\r\nDer Kurs richtet sich primär an medizinische Fachpersonen. Er kann aber auch medizinische Laien in das Thema der Gesundheitlichen Vorausplanung einführen.\r\n \r\nWir wünschen Ihnen ein aufschlussreiches E-Learning!\r\n\r\n<br>\r\nDieses Projekt wird unterstützt vom Universitären Zentrum für Hausarztmedizin beider Basel und von der GGG Basel.\r\n{.footnote}', 'Im Gespräch mit dem oder der Patient:in geht es nicht nur um die Behandlung von Krankheiten, sondern auch um die Planung möglicher zukünftiger medizinischer Behandlungsentscheidungen. Hier kommt die Gesundheitliche Vorausplanung ins Spiel. \r\n{.lead}\r\n\r\nDoch was genau beinhaltet diese und weshalb ist sie wichtig? In diesem Kurs lernen Sie die Gesundheitliche Vorausplanung kennen und erfahren, wie dieses Instrument hilfreich eingesetzt werden kann. \r\n \r\nDas erste Kapitel führt Sie in die Inhalte, die Ziele und die Modelle der Gesundheitlichen Vorausplanung ein. Wir stellen Ihnen das Modell vor, das für die Region Basel-Stadt und Baselland entwickelt wurde. Im zweiten Kapitel zeigen wir auf, wie Sie als medizinische Fachperson eine Gesundheitliche Vorausplanung im Einzelfall umsetzen können. Beide Kapitel enthalten sowohl theoretische als auch praktische Inputs und konkrete Fallbeispiele. \r\n\r\nDer Kurs richtet sich primär an medizinische Fachpersonen. Er kann aber auch medizinische Laien in das Thema der Gesundheitlichen Vorausplanung einführen.\r\n \r\nWir wünschen Ihnen ein aufschlussreiches E-Learning!\r\n\r\n<br>\r\nDieses Projekt wird unterstützt vom Universitären Zentrum für Hausarztmedizin beider Basel und von der GGG Basel.\r\n{.footnote}', '', '', '', '', '', '', ''), (16, datetime.datetime(2020, 11, 2, 15, 9, 33, 652377, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 6, 26, 9, 18, 27, 650502, tzinfo=datetime.timezone.utc), 'published', datetime.datetime(2024, 6, 10, 8, 45, 21, 808626, tzinfo=datetime.timezone.utc), False, '[]', 'Nahtkurs', 'Nahtkurs', None, None, 'Chirurgische Basiskompetenz', 'Chirurgische Basiskompetenz', None, None, 'In diesem Kurs lernt medizinisches Fachpersonal die einfache Wundversorgung. Kurssprache: Deutsch.', 'In diesem Kurs lernt medizinisches Fachpersonal die einfache Wundversorgung. Kurssprache: Deutsch.', 'In this course, healthcare professionals learn about the basics of treating wounds. Course language: German.', 'Dans ce cours, le personnel médical spécialisé apprend le traitement simple des plaies. Langue du cours : allemand.', 'chirurgische-basiskompetenz/startbild.jpg', 'nahtkurs', 'Zu den grundlegenden Fertigkeiten, die Ärzte und Ärztinnen brauchen, gehört die einfache Wundversorgung. «Einfach» bedeutet dabei mitnichten «eindimensional»: Wer Medizin studiert, muss lernen, mit dem Patienten umzugehen, eine korrekte Diagnose zu stellen und die richtigen Instrumente auszuwählen. Nadel und Faden sollten korrekt geführt, der Knoten effizient geknüpft, die Wunde fachgerecht nachbehandelt werden.\r\n{.lead}\r\n\r\nDer Kurs ist in drei Teile gegliedert. Zu Beginn, im Kapitel «Experte», können die Studierenden einer Ärztin bei der Arbeit über die Schulter schauen und alles Wichtige rund um die Wundversorgung lernen. Im zweiten Teil «Entdecker» gilt es das Gelernte anhand unterschiedlicher Übungen zu erproben und das Wissen zu festigen. Abschliessend werden die wichtigsten Lerninhalte in Tests abgefragt. Die Struktur des Kurses ist so angelegt, dass die Studierenden je nach ihrem Vorwissen frei entscheiden können, ob sie zuerst alle Steps durcharbeiten wollen oder ob sie sich direkt an den Übungen und Tests versuchen wollen. \r\n\r\nDer Nahtkurs kam 2005 ins Finale des MedidaPrix und ergänzt seit 2006 den Präsenzunterricht «Chirurgische Basiskompetenzen» mit interaktiven Lernmaterialien - zunächst als CD-Rom, dann in einer Webapplikation, auf die nun auch Smartphones zugreifen können sollen. Mit dieser neuesten Version ist der Kurs nun in seiner Ganzheit öffentlich zugänglich. \r\n\r\nDer Kurs richtet sich an Mediziner und Medizinerinnen oder Personal des Gesundheitswesens. Er soll Studierende dabei unterstützen, die Präsenzveranstaltung vor- oder nachzubereiten und kann Praktikern helfen, ihr Wissen aufzufrischen. Unterschiedliche Ebenen ermöglichen, Lernziele je nach Vorkenntnissen und Lernbedürfnissen individuell zu erreichen. Wer sich das Wissen Schritt für Schritt als Zuschauer aneignen möchte, begleitet im Kapitel Experte die Ärztin durch alle Phasen der chirurgischen Wundversorgung. Wer in Übungen seinen Wissensstand erarbeiten will, wählt die Perspektive des Entdeckers. Wer sein Wissen in Bezug auf einen Lernzielkatalog testen möchte, arbeitet sich durch die Kapitel der Quizzes. \r\n\r\n**Hinweis**: Dieser Kurs ist für medizinisches Fachpersonal bestimmt. Er enthält Bilder von Wunden und Blut, welche die Sensibilität gewisser Personen verletzen könnten.', 'Zu den grundlegenden Fertigkeiten, die Ärzte und Ärztinnen brauchen, gehört die einfache Wundversorgung. «Einfach» bedeutet dabei mitnichten «eindimensional»: Wer Medizin studiert, muss lernen, mit dem Patienten umzugehen, eine korrekte Diagnose zu stellen und die richtigen Instrumente auszuwählen. Nadel und Faden sollten korrekt geführt, der Knoten effizient geknüpft, die Wunde fachgerecht nachbehandelt werden.\r\n{.lead}\r\n\r\nDer Kurs ist in drei Teile gegliedert. Zu Beginn, im Kapitel «Experte», können die Studierenden einer Ärztin bei der Arbeit über die Schulter schauen und alles Wichtige rund um die Wundversorgung lernen. Im zweiten Teil «Entdecker» gilt es das Gelernte anhand unterschiedlicher Übungen zu erproben und das Wissen zu festigen. Abschliessend werden die wichtigsten Lerninhalte in Tests abgefragt. Die Struktur des Kurses ist so angelegt, dass die Studierenden je nach ihrem Vorwissen frei entscheiden können, ob sie zuerst alle Steps durcharbeiten wollen oder ob sie sich direkt an den Übungen und Tests versuchen wollen. \r\n\r\nDer Nahtkurs kam 2005 ins Finale des MedidaPrix und ergänzt seit 2006 den Präsenzunterricht «Chirurgische Basiskompetenzen» mit interaktiven Lernmaterialien - zunächst als CD-Rom, dann in einer Webapplikation, auf die nun auch Smartphones zugreifen können sollen. Mit dieser neuesten Version ist der Kurs nun in seiner Ganzheit öffentlich zugänglich. \r\n\r\nDer Kurs richtet sich an Mediziner und Medizinerinnen oder Personal des Gesundheitswesens. Er soll Studierende dabei unterstützen, die Präsenzveranstaltung vor- oder nachzubereiten und kann Praktikern helfen, ihr Wissen aufzufrischen. Unterschiedliche Ebenen ermöglichen, Lernziele je nach Vorkenntnissen und Lernbedürfnissen individuell zu erreichen. Wer sich das Wissen Schritt für Schritt als Zuschauer aneignen möchte, begleitet im Kapitel Experte die Ärztin durch alle Phasen der chirurgischen Wundversorgung. Wer in Übungen seinen Wissensstand erarbeiten will, wählt die Perspektive des Entdeckers. Wer sein Wissen in Bezug auf einen Lernzielkatalog testen möchte, arbeitet sich durch die Kapitel der Quizzes. \r\n\r\n**Hinweis**: Dieser Kurs ist für medizinisches Fachpersonal bestimmt. Er enthält Bilder von Wunden und Blut, welche die Sensibilität gewisser Personen verletzen könnten.', '', '', 'Universität Basel', 'Universität Basel', '', '', 'Prof. Dr. Gerhard Pierer \r\ngerhard.pierer@tirol-kliniken.at \r\n\r\ntirol kliniken \r\nUniv.-Klinik für Plastische, Rekonstruktion und Ästhetische Chirurgie \r\nAnichstraße 35 \r\nA-6020 Innsbruck')]])}, None) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(326) if match: /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(38) return original(compiler, *args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in inner(101) return _get_result_or_execute_query( /usr/local/lib/python3.12/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(76) cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT) |
|||||
| 0.2759 | get | ('imagekit:CACHE/images/allergies-when-the-immune-system-backfires/Course-Image-Castle_3/5cca6a8662a6110c7c46a8b466adc3cd.png-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2701 | get | ('imagekit:CACHE/images/examining-african-contributions-to-global-health/Course_Image_AFRICAN_contributions/f15fb5a44a4949684b517d40d42e1ddd.jpg-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2743 | get | ('imagekit:CACHE/images/histologie/Titelbild_Histologie_5/730b1f852463fe9e2d6677550c44592b.jpg-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2494 | get | ('imagekit:CACHE/images/learning-and-memory/brain_kOvh625/cfe513e856d8901a4dc81526fe7411bc.png-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2608 | get | ('imagekit:CACHE/images/one-health-french-test-version/Course_image_one_health_06_course_image_tales_var_Kopie/187fc4425becb44b1135708e367f9dbd.png-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.3062 | get | ('imagekit:CACHE/images/the-resistant-mosquito/001/0915de7887bd75813114602ab93933fd.jpg-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2257 | get | ('imagekit:CACHE/images/gesundheitliche-vorausplanung-basel-stadt-und-baselland/Illustartion_Gespraech_1_4/e017818259c9a1dee03f6d7e91e5de07.png-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| 0.2118 | get | ('imagekit:CACHE/images/chirurgische-basiskompetenz/startbild/c0028365e0b1c44214555e74b68b0e80.jpg-state',) | {} | <django_redis.cache.RedisCache object at 0x78830fe11400> | |
/usr/local/bin/gunicorn in <module>(10) sys.exit(run()) /usr/local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py in run(66) WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(235) super().run() /usr/local/lib/python3.12/site-packages/gunicorn/app/base.py in run(71) Arbiter(self).run() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in run(201) self.manage_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in manage_workers(570) self.spawn_workers() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_workers(641) self.spawn_worker() /usr/local/lib/python3.12/site-packages/gunicorn/arbiter.py in spawn_worker(608) worker.init_process() /usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py in init_process(143) self.run() /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run(125) self.run_for_one(timeout) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in run_for_one(69) self.accept(listener) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in accept(31) self.handle(listener, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle(134) self.handle_request(listener, req, client, addr) /usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py in handle_request(177) respiter = self.wsgi(environ, resp.start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_wsgi_handler(191) return middleware(environ, start_response) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/wsgi.py in __call__(131) response = self.app( /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/__init__.py in sentry_patched_get_response(477) rv = old_get_response(self, request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(33) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(172) response = self.get_response(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.12/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(94) return callback(request, *args, **kwargs) /app/project/lms_tales/views_filter_courses.py in new_filter_courses(165) return render( /usr/local/lib/python3.12/site-packages/sentry_sdk/utils.py in runner(1811) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/templates.py in render(105) return real_render(request, template_name, context, *args, **kwargs) /usr/local/lib/python3.12/site-packages/django/shortcuts.py in render(25) content = loader.render_to_string(template_name, context, request, using=using) /usr/local/lib/python3.12/site-packages/django/template/loader.py in render_to_string(62) return template.render(context, request) /usr/local/lib/python3.12/site-packages/django/template/backends/django.py in render(107) return self.template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(171) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(159) return compiled_parent._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(65) result = block.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/loader_tags.py in render(210) return template.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(173) return self._render(context) /usr/local/lib/python3.12/site-packages/django/test/utils.py in instrumented_test_render(114) return self.nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(327) return nodelist.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1016) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/defaulttags.py in render(243) nodelist.append(node.render_annotated(context)) /usr/local/lib/python3.12/site-packages/django/template/base.py in render_annotated(977) return self.render(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in render(1075) output = self.filter_expression.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(722) obj = self.var.resolve(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in resolve(854) value = self._resolve_lookup(context) /usr/local/lib/python3.12/site-packages/django/template/base.py in _resolve_lookup(901) current = getattr(current, bit) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in url(89) return self._storage_attr('url') /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in _storage_attr(79) existence_required.send(sender=self, file=self) /usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py in send(189) response = receiver(signal=self, sender=sender, **named) /usr/local/lib/python3.12/site-packages/sentry_sdk/integrations/django/signals_handlers.py in wrapper(73) return receiver(*args, **kwargs) /usr/local/lib/python3.12/site-packages/imagekit/registry.py in existence_required_receiver(53) self._receive(file, 'on_existence_required') /usr/local/lib/python3.12/site-packages/imagekit/registry.py in _receive(61) call_strategy_method(file, callback) /usr/local/lib/python3.12/site-packages/imagekit/utils.py in call_strategy_method(119) fn(file) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/strategies.py in on_existence_required(11) file.generate() /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/__init__.py in generate(98) self.cachefile_backend.generate(self, force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate(111) self.generate_now(file, force=force) /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in generate_now(96) if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS): /usr/local/lib/python3.12/site-packages/imagekit/cachefiles/backends.py in get_state(68) state = self.cache.get(key) |
|||||
| Application | Model | Last invalidation |
|---|---|---|
| django_q | Failure | 34 minutes |
| lms_tales | CourseMetrics | 34 minutes |
| django_q | Schedule | 34 minutes |
| search | FulltextSearchModel | 14 hours |
| reporting | Report | 1 week, 1 day |
| lms_assignment | Assignment | 3 weeks, 1 day |
| lms_assignment | UserAssignment | 3 weeks, 1 day |
| lms_assignment | AssignmentFeedback | 3 weeks, 1 day |
| lms_ai | LLMProvider | 3 weeks, 1 day |
| lms_ai | LLMServiceConfig | 3 weeks, 1 day |
| lms_ai | LLMTask | 3 weeks, 1 day |
| lms_roles | CourseRole | 3 weeks, 1 day |
| lms_notifications | Notification | 3 weeks, 1 day |
| search | TrigramSearchModel | 3 weeks, 1 day |
| startpage | SliderItem | 3 weeks, 1 day |
| startpage | CategoryCourse | 3 weeks, 1 day |
| tags | Category | 3 weeks, 1 day |
| tags | Tag | 3 weeks, 1 day |
| lms_static_texts | StaticText | 3 weeks, 1 day |
| lms_static_texts | HistoricalStaticText | 3 weeks, 1 day |
| lms_comments | Comment | 3 weeks, 1 day |
| lms_comments | Reply | 3 weeks, 1 day |
| lms_comments | Reaction | 3 weeks, 1 day |
| lms_comments | Flag | 3 weeks, 1 day |
| lms_tales | TalesStep | 3 weeks, 1 day |
| lms_tales | TalesStepFileNew | 3 weeks, 1 day |
| lms_tales | TalesStepFile | 3 weeks, 1 day |
| lms_tales | TalesCourseFile | 3 weeks, 1 day |
| lms_tales | TalesChapter | 3 weeks, 1 day |
| lms_tales | TalesCourse | 3 weeks, 1 day |
| lms_tales | TalesAuthor | 3 weeks, 1 day |
| lms_tales | TalesPartner | 3 weeks, 1 day |
| lms_tales | TalesPath | 3 weeks, 1 day |
| lms_tales | TalesPathStep | 3 weeks, 1 day |
| lms_tales | TalesCourseRun | 3 weeks, 1 day |
| lms_tales | TalesCourseRunStep | 3 weeks, 1 day |
| lms_tales | ScheduledMessage | 3 weeks, 1 day |
| lms_tales | HistoricalTalesStep | 3 weeks, 1 day |
| lms_tales | HistoricalTalesStepFile | 3 weeks, 1 day |
| lms_tales | HistoricalTalesChapter | 3 weeks, 1 day |
| lms_tales | HistoricalTalesCourse | 3 weeks, 1 day |
| lms_tales | HistoricalTalesPath | 3 weeks, 1 day |
| auth | Permission | 3 weeks, 1 day |
| auth | Group | 3 weeks, 1 day |
| contenttypes | ContentType | 3 weeks, 1 day |
| sessions | Session | 3 weeks, 1 day |
| sites | Site | 3 weeks, 1 day |
| flatpages | FlatPage | 3 weeks, 1 day |
| admin | LogEntry | 3 weeks, 1 day |
| redirects | Redirect | 3 weeks, 1 day |
| account | EmailAddress | 3 weeks, 1 day |
| account | EmailConfirmation | 3 weeks, 1 day |
| socialaccount | SocialApp | 3 weeks, 1 day |
| socialaccount | SocialAccount | 3 weeks, 1 day |
| socialaccount | SocialToken | 3 weeks, 1 day |
| waffle | Flag | 3 weeks, 1 day |
| waffle | Switch | 3 weeks, 1 day |
| waffle | Sample | 3 weeks, 1 day |
| tos | TermsOfService | 3 weeks, 1 day |
| tos | UserAgreement | 3 weeks, 1 day |
| impersonate | ImpersonationLog | 3 weeks, 1 day |
| django_q | OrmQ | 3 weeks, 1 day |
| users | User | 3 weeks, 1 day |
| users | UserSettings | 3 weeks, 1 day |
| Signal | Receivers |
|---|---|
| class_prepared | StatusField.prepare_class, add_status_query_managers, add_timeframed_query_manager, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class |
| connection_created | |
| got_request_exception | _got_request_exception |
| m2m_changed | flag_membership_changed, flag_membership_changed |
| post_delete | HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, delete_search_index, delete_search_index |
| post_init | ModelSignalRouter.post_init_receiver, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init |
| post_migrate | create_permissions, create_contenttypes, create_default_site, _invalidate_on_migration |
| post_save | ModelSignalRouter.post_save_receiver, call_hook, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, create_user_settings, save_user_settings, update_search_index, update_search_index, notification_created |
| pre_delete | clear_site_cache, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete, HistoricalRecords.pre_delete |
| pre_init | |
| pre_migrate | inject_rename_contenttypes_operations |
| pre_save | clear_site_cache |
| request_finished | close_old_connections, close_caches, reset_urlconf |
| request_started | reset_queries, close_old_connections |
| setting_changed | reset_cache, reload_settings, Settings.change_setting, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, form_renderer_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, Options.setting_changed, update_level_tags, clear_caches, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties |