The Resistant Mosquito
Staying Ahead of the Game in the Fight against Malaria
Updated January 2025Malaria has been the scourge of humanity for too long. Ever since scientists at the end of the 19th century discovered that the malaria parasite is transmitted by mosquitoes, controlling the ‘malaria mosquitoes’ has been the most effective tool against malaria. Yet as recently as 2020, there were still 241 million cases of malaria globally, and at least 627,000 deaths, the majority in sub-Saharan Africa.
In the last twenty years, there has been a significant increase in mosquito control interventions. The development and mass distribution of long-lasting insecticide-treated mosquito bed nets offered protection to millions of people from the bites of malaria-infected mosquitoes. Along with increased access to effective drugs to treat malaria and improved diagnostic tests, remarkable progress has been made in reducing the burden of malaria, bringing us closer to the goal of eliminating this disease.
However, malaria mosquitoes are becoming resistant to the insecticides that have been so effective at controlling them. This course will look at why and how this is happening, its impact, and what can be practically done to address it. This helps us to remain ahead of the game in the fight against malaria.
“Weeks”, “Chapters” and invitation to comment
Please note that this course was originally published by the University of Basel on FutureLearn. FutureLearn is a global platform offering online courses that encourage social learning, including discussions between learners. On FutureLearn, we added comment sections to certain steps and measured course durations in weeks rather than in chapters.
Here on Tales, we measure courses in chapters. These chapters are equivalent to the “weeks” on FutureLearn. So when you watch a video here and hear an educator talking about “weeks”, you’ll know that this was because the videos were geared towards FutureLearn’s set-up.
Another difference to FutureLearn is the comment option. The educators in the videos will sometimes invite you to discuss something in the comments section. If you don’t see a comment option here on Tales, then the course is not open to comments at this moment in time. But for certain periods of time announced in advance, this course will be open to comments.
The good news is that either way, you can freely access the course and all of its contents at any time. If the comment section is not open, why not write down your comments as you go through the course? That way you can keep track of how your knowledge changes. And should you be able to participate in one of the authors’ face-to-face courses, you can then refer back to your comments and discuss them with your peers.
Lizenz
University of Basel
Autor:innen
Partners
- Hide »
- Toggle Theme
-
History
-
Versions
Django 4.2.19 -
Time
CPU: 682.18ms (692.19ms) - Settings
- Headers
-
Request
apply_cache -
SQL
0 queries in 0.00ms -
Static files
7 files used - Templates
-
Cache
2 calls in 3.67ms -
Cachalot
Last invalidation: 11 hours, 20 minutes -
Signals
110 receivers of 15 signals -
Intercept redirects
-
Profiling
Versions
Package | Name | Version |
---|---|---|
Django | 4.2.19 | |
Python | 3.11.11 | |
allauth | Allauth | 65.4.1.final.0 |
cachalot | Cachalot | 2.6.3 |
crispy_bootstrap5 | Crispy_Bootstrap5 | 2024.10 |
crispy_forms | Crispy_Forms | 2.3 |
debug_toolbar | Debug Toolbar | 4.4.6 |
django_extensions | Django Extensions | 3.2.3 |
django_q | Django Q | 1.7.6 |
imagekit | Imagekit | 5.0.0 |
impersonate | Impersonate | 1.9.4 |
markdownx | Markdownx | 4.0.7 |
mozilla_django_oidc | Mozilla_Django_Oidc | 4.0.1 |
notifications | Notifications | 1.8.3 |
rosetta | Rosetta | 0.10.1 |
rules | Rules | 3.5.0.final.1 |
simple_history | Simple_History | 3.7.0 |
storages | Storages | 1.14.4 |
tos | Terms Of Service | 1.1.0 |
waffle | django-waffle | 4.1.0 |
Time
Resource usage
Resource | Value |
---|---|
User CPU time | 546.770 msec |
System CPU time | 135.414 msec |
Total CPU time | 682.184 msec |
Elapsed time | 692.189 msec |
Context switches | 5929 voluntary, 621 involuntary |
Browser timing
Timing attribute | Timeline | Milliseconds since navigation start (+length) |
---|
Settings from config.settings.staging
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 | ('rules.permissions.ObjectPermissionBackend',
'lms_base.authentication.EDUIDAuthenticationBackend',
'django.contrib.auth.backends.ModelBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'users.User' |
BASE_DIR | '/app/project/config/../' |
CACHALOT_ENABLED | True |
CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://tales-redis:6379/1',
'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient',
'IGNORE_EXCEPTIONS': True}}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CI_COMMIT_SHORT_SHA | '0809bd77' |
CI_COMMIT_TAG | '' |
CRISPY_ALLOWED_TEMPLATE_PACKS | 'bootstrap5' |
CRISPY_TEMPLATE_PACK | 'bootstrap5' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_MASKED | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | None |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_HEALTH_CHECKS': False,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'tales-postgres',
'NAME': 'tptt',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '5432',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIGRATE': True,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'tales_db_user'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DEBUG_TOOLBAR_CONFIG | {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x706cb92a96c0>} |
DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'cachalot.panels.CachalotPanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel'] |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'contact-nmc@unibas.ch' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DEPLOY_ENV | 'staging' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize') |
DJANGO_NOTIFICATIONS_CONFIG | {'USE_JSONFIELD': True} |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.unibas.ch' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.TemplatesSetting' |
IGNORABLE_404_URLS | [] |
IMAGEKIT_CACHEFILE_DIR | 'CACHE/images' |
IMAGEKIT_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.hash' |
IMAGEKIT_CACHE_BACKEND | 'default' |
IMAGEKIT_CACHE_PREFIX | 'imagekit:' |
IMAGEKIT_CACHE_TIMEOUT | 300 |
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND | 'imagekit.cachefiles.backends.Simple' |
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY | 'imagekit.cachefiles.strategies.JustInTime' |
IMAGEKIT_DEFAULT_FILE_STORAGE | 'default' |
IMAGEKIT_SPEC_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.source_name_as_path' |
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY | '********************' |
INSTALLED_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize',
'simple_history',
'crispy_forms',
'crispy_bootstrap5',
'allauth',
'allauth.account',
'allauth.socialaccount',
'mozilla_django_oidc',
'django_extensions',
'markdownx',
'rules.apps.AutodiscoverRulesConfig',
'imagekit',
'waffle',
'django_htmx',
'cachalot',
'corsheaders',
'tos',
'tos_i18n',
'impersonate',
'rosetta',
'django_q',
'notifications',
'link_check',
'users.apps.UsersConfig',
'lms_base',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig',
'storages',
'debug_toolbar') |
INTERNAL_IPS | ['127.0.0.1'] |
LANGUAGES | (('de', 'German'), ('en', 'English'), ('fr', 'French')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'] |
LANGUAGE_CODE | 'de' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | ['/app/project/config/../locale'] |
LOCAL_APPS | ('users.apps.UsersConfig',
'lms_base',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig') |
LOGGING | {'disable_existing_loggers': False,
'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} '
'{message}',
'style': '{'}},
'handlers': {'console': {'class': 'logging.StreamHandler',
'formatter': 'verbose'},
'mail_admins': {'class': 'django.utils.log.AdminEmailHandler',
'include_html': True,
'level': 'ERROR'}},
'loggers': {'django': {'handlers': ['console', 'mail_admins'],
'level': 'WARNING',
'propagate': True},
'django.request': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'django.security': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'fontTools': {'handlers': ['console'], 'level': 'ERROR'},
'tales': {'handlers': ['console'], 'level': 'INFO'},
'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}},
'root': {'handlers': ['console'], 'level': 'WARNING'},
'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | 'account_login' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MARKDOWNX_EDITOR_RESIZABLE | True |
MARKDOWNX_IMAGE_MAX_SIZE | {'quality': 90, 'size': (1920, 5600)} |
MARKDOWNX_MARKDOWNIFY_FUNCTION | 'lms_base.utils.markdownify' |
MARKDOWNX_MARKDOWN_EXTENSIONS | ['markdown.extensions.extra',
'markdown.extensions.smarty',
'markdown.extensions.codehilite',
'markdown.extensions.fenced_code',
'markdown.extensions.attr_list',
'markdown.extensions.toc',
'utils.markdown_extensions',
'python_markdown_oembed_extension'] |
MARKDOWNX_MEDIA_PATH | 'markdownx/' |
MARKDOWNX_UPLOAD_URLS_PATH | '/markdownx/upload/' |
MARKDOWNX_URLS_PATH | '/markdownx/markdownify/' |
MEDIA_ROOT | '/app/project/media' |
MEDIA_URL | '/media/' |
MESSAGE_REAPPEAR_TIME | 600 |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'lms_tales.middleware.SetLocaleFoundInUserSettings',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'allauth.account.middleware.AccountMiddleware',
'impersonate.middleware.ImpersonateMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'simple_history.middleware.HistoryRequestMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
'waffle.middleware.WaffleMiddleware',
'django_htmx.middleware.HtmxMiddleware',
'lms_tales.middleware.TalesUserAgreementMiddleware',
'lms_tales.middleware.ScheduledMessagesMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware'] |
MIGRATION_MODULES | {'tos': 'lms_tales.migrate.tos'} |
MODELTRANSLATION_CUSTOM_FIELDS | ('JSONField',) |
MODELTRANSLATION_DEFAULT_LANGUAGE | 'de' |
MODELTRANSLATION_FALLBACK_LANGUAGES | ('de', 'en', 'fr') |
MONTH_DAY_FORMAT | 'F j' |
NOTIFICATIONS_NOTIFICATION_MODEL | 'notifications.Notification' |
NUMBER_GROUPING | 0 |
OIDC_OP_AUTHORIZATION_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/authorize' |
OIDC_OP_JWKS_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/keyset' |
OIDC_OP_TOKEN_ENDPOINT | '********************' |
OIDC_OP_USER_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/userinfo' |
OIDC_RP_CLIENT_ID | 'unibas-tales' |
OIDC_RP_CLIENT_SECRET | '********************' |
OIDC_RP_SCOPES | 'openid email profile https://login.eduid.ch/authz/User.Read' |
OIDC_RP_SIGN_ALGO | 'RS256' |
OIDC_TOKEN_USE_BASIC_AUTH | '********************' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | False |
PROJECT_DIR | '/app/project/config/../' |
Q_CLUSTER | {'catch_up': False,
'django_redis': 'default',
'name': 'QCluster',
'retry': 600,
'timeout': 500,
'workers': 4} |
RELEASE_NAME | '' |
REQUIRE_SUPERUSER | True |
ROOT_URLCONF | 'config.urls' |
ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE | 'de' |
ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME | 'Deutsch' |
ROSETTA_SHOW_AT_ADMIN_PANEL | 'True' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | None |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.cache' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'config.settings.staging' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_DOMAIN | 'https://nmc-tales-staging.nmc.unibas.ch/' |
SITE_ID | 1 |
SLACK_WEBHOOK | 'https://hooks.slack.com/services/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' |
STAGING_EMAIL_RECIPIENTS | ['notifications-nmc@unibas.ch'] |
STATICFILES_DIRS | ['/app/project/config/../static'] |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/app/project/config/../../staticfiles' |
STATIC_URL | '/static/' |
STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
TALES_BASE_URL | 'https://tales.nmc.unibas.ch' |
TALES_VERSION | 'dev' |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/app/project/config/../templates',
'/usr/local/lib/python3.11/site-packages/django/forms/templates'],
'OPTIONS': {'builtins': ['django.templatetags.i18n',
'django.templatetags.static'],
'context_processors': ['django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'utils.context_processors.ci_info'],
'debug': False,
'loaders': ['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THIRD_PARTY_APPS | ('debug_toolbar',) |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Europe/Zurich' |
USER_DEACTIVATION_AFTER_DAYS | 730 |
USER_DELETION_AFTER_DAYS | 912 |
USE_DEPRECATED_PYTZ | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | True |
USE_X_FORWARDED_PORT | False |
VIEW_CACHE_TTL | 600 |
WAFFLE_LOG_MISSING_FLAGS | 30 |
WAFFLE_LOG_MISSING_SAMPLES | 30 |
WAFFLE_LOG_MISSING_SWITCHES | 30 |
WSGI_APPLICATION | 'config.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
Headers
Request headers
Key | Value |
---|---|
Accept | */* |
Accept-Encoding | gzip, br, zstd, deflate |
Cookie | => see Request panel |
Host | nmc-tales-staging.nmc.unibas.ch |
Referer | https://nmc-tales-staging.nmc.unibas.ch/en/the-resistant-mosquito-43 |
User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
X-Forwarded-For | 3.141.12.211 |
X-Forwarded-Host | nmc-tales-staging.nmc.unibas.ch |
X-Forwarded-Proto | https |
Response headers
Key | Value |
---|---|
Content-Type | text/html; charset=utf-8 |
WSGI environ
Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.
Key | Value |
---|---|
PATH_INFO | /en/the-resistant-mosquito-43/ |
QUERY_STRING | |
REMOTE_ADDR | 3.141.12.211 |
REMOTE_HOST | 3.141.12.211 |
REQUEST_METHOD | GET |
SCRIPT_NAME | |
SERVER_NAME | 172.19.0.5 |
SERVER_PORT | 8000 |
Request
View information
View function | Arguments | Keyword arguments | URL name |
---|---|---|---|
utils.decorators.cache_per_user.<locals>.decorator.<locals>.apply_cache |
() |
{'pk': 43, 'slug': 'the-resistant-mosquito'} |
tales:course |
Cookies
Variable | Value |
---|---|
'csrftoken' |
'NEIReIlZ6J7LxdoAkLK1zztyjZRdDr0m' |
No session data
No GET data
No POST data
SQL queries from 0 connections
No SQL queries were recorded during this request.
Static files (273 found, 7 used)
Static file path
- /app/project/static
Static file apps
- modeltranslation
- django.contrib.admin
- django_extensions
- markdownx
- django_htmx
- rosetta
- notifications
- debug_toolbar
Static files
- images/icon_tales_white.png
- /app/project/static/images/icon_tales_white.png
- images/icon_tales_transp.png
- /app/project/static/images/icon_tales_transp.png
- lms_base/css/lms_base.css
- /app/project/static/lms_base/css/lms_base.css
- lms_tales/css/lms_tales.css
- None
- lms_base/js/lms_base.js
- /app/project/static/lms_base/js/lms_base.js
- lms_tales/js/lms_tales.js
- /app/project/static/lms_tales/js/lms_tales.js
- images/uni-basel-logo-en.svg
- /app/project/static/images/uni-basel-logo-en.svg
django.contrib.staticfiles.finders.FileSystemFinder (123 files)
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 |
lms_base/font/nmc.woff | /app/project/static/lms_base/font/nmc.woff |
lms_base/font/icon-left.woff2 | /app/project/static/lms_base/font/icon-left.woff2 |
lms_base/font/nmc.woff2 | /app/project/static/lms_base/font/nmc.woff2 |
lms_base/font/nmc.eot | /app/project/static/lms_base/font/nmc.eot |
lms_base/font/icon-left.woff | /app/project/static/lms_base/font/icon-left.woff |
lms_base/font/nmc.svg | /app/project/static/lms_base/font/nmc.svg |
lms_base/font/icon-left.svg | /app/project/static/lms_base/font/icon-left.svg |
lms_base/font/nmc.ttf | /app/project/static/lms_base/font/nmc.ttf |
lms_base/font/icon-left.eot | /app/project/static/lms_base/font/icon-left.eot |
lms_base/font/icon-left.ttf | /app/project/static/lms_base/font/icon-left.ttf |
lms_base/css/lms_base.css | /app/project/static/lms_base/css/lms_base.css |
lms_base/css/lms_base.css.map | /app/project/static/lms_base/css/lms_base.css.map |
lms_base/js/lms_base.js | /app/project/static/lms_base/js/lms_base.js |
lms_base/js/bootstrap.bundle.min.js | /app/project/static/lms_base/js/bootstrap.bundle.min.js |
reporting/css/report_pdf.css.map | /app/project/static/reporting/css/report_pdf.css.map |
reporting/css/report_pdf.css | /app/project/static/reporting/css/report_pdf.css |
reporting/images/nmcunilogo.png | /app/project/static/reporting/images/nmcunilogo.png |
reporting/images/background.jpg | /app/project/static/reporting/images/background.jpg |
dropzone/dropzone.min.css | /app/project/static/dropzone/dropzone.min.css |
dropzone/dropzone-amd-module.min.js | /app/project/static/dropzone/dropzone-amd-module.min.js |
dropzone/basic.min.css | /app/project/static/dropzone/basic.min.css |
dropzone/dropzone.min.js | /app/project/static/dropzone/dropzone.min.js |
lms_tales/font/nmc.woff | /app/project/static/lms_tales/font/nmc.woff |
lms_tales/font/icon-left.woff2 | /app/project/static/lms_tales/font/icon-left.woff2 |
lms_tales/font/nmc.woff2 | /app/project/static/lms_tales/font/nmc.woff2 |
lms_tales/font/nmc.eot | /app/project/static/lms_tales/font/nmc.eot |
lms_tales/font/icon-left.woff | /app/project/static/lms_tales/font/icon-left.woff |
lms_tales/font/nmc.svg | /app/project/static/lms_tales/font/nmc.svg |
lms_tales/font/icon-left.svg | /app/project/static/lms_tales/font/icon-left.svg |
lms_tales/font/nmc.ttf | /app/project/static/lms_tales/font/nmc.ttf |
lms_tales/font/icon-left.eot | /app/project/static/lms_tales/font/icon-left.eot |
lms_tales/font/icon-left.ttf | /app/project/static/lms_tales/font/icon-left.ttf |
lms_tales/js/lms_tales.js | /app/project/static/lms_tales/js/lms_tales.js |
opos/4_4.html | /app/project/static/opos/4_4.html |
opos/4_3.html | /app/project/static/opos/4_3.html |
opos/4_5.html | /app/project/static/opos/4_5.html |
opos/4_1.html | /app/project/static/opos/4_1.html |
tales_editor/favicon.ico | /app/project/static/tales_editor/favicon.ico |
tales_editor/index.html | /app/project/static/tales_editor/index.html |
tales_editor/css/chunk-vendors.css | /app/project/static/tales_editor/css/chunk-vendors.css |
tales_editor/css/app.css | /app/project/static/tales_editor/css/app.css |
tales_editor/img/bootstrap-icons.svg | /app/project/static/tales_editor/img/bootstrap-icons.svg |
tales_editor/img/remixicon.symbol.svg | /app/project/static/tales_editor/img/remixicon.symbol.svg |
tales_editor/js/app.js | /app/project/static/tales_editor/js/app.js |
tales_editor/js/app.js.map | /app/project/static/tales_editor/js/app.js.map |
tales_editor/js/chunk-vendors.js | /app/project/static/tales_editor/js/chunk-vendors.js |
tales_editor/js/chunk-vendors.js.map | /app/project/static/tales_editor/js/chunk-vendors.js.map |
images/opos_map_xs.png | /app/project/static/images/opos_map_xs.png |
images/opos_map_xl.png | /app/project/static/images/opos_map_xl.png |
images/edu-id-button-gray.png | /app/project/static/images/edu-id-button-gray.png |
images/icon_tales_mint.png | /app/project/static/images/icon_tales_mint.png |
images/favicon.ico | /app/project/static/images/favicon.ico |
images/door.jpg | /app/project/static/images/door.jpg |
images/icon_tales_transp_32x32.png | /app/project/static/images/icon_tales_transp_32x32.png |
images/uni-basel-logo-de.svg | /app/project/static/images/uni-basel-logo-de.svg |
images/raymond_ammann.jpg | /app/project/static/images/raymond_ammann.jpg |
images/help_en.jpg | /app/project/static/images/help_en.jpg |
images/opos_map_xs.avif | /app/project/static/images/opos_map_xs.avif |
images/opos_map_md.png | /app/project/static/images/opos_map_md.png |
images/help_de.jpg | /app/project/static/images/help_de.jpg |
images/bild.png | /app/project/static/images/bild.png |
images/help.jpg | /app/project/static/images/help.jpg |
images/Hochformat.jpg | /app/project/static/images/Hochformat.jpg |
images/empty_classroom.jpg | /app/project/static/images/empty_classroom.jpg |
images/uni-basel-logo-de.png | /app/project/static/images/uni-basel-logo-de.png |
images/contact-side-image-1.jpg | /app/project/static/images/contact-side-image-1.jpg |
images/icon_tales_white.png | /app/project/static/images/icon_tales_white.png |
images/portalflag.png | /app/project/static/images/portalflag.png |
images/uni-basel-logo-en.svg | /app/project/static/images/uni-basel-logo-en.svg |
images/contact-side-image-2.jpg | /app/project/static/images/contact-side-image-2.jpg |
images/alp_und_hirtenhorn.jpg | /app/project/static/images/alp_und_hirtenhorn.jpg |
images/icon_tales_transp.png | /app/project/static/images/icon_tales_transp.png |
images/Weltkarte_Opos.png | /app/project/static/images/Weltkarte_Opos.png |
images/batkitty.jpg | /app/project/static/images/batkitty.jpg |
images/help_fr.jpg | /app/project/static/images/help_fr.jpg |
nahtkurs_glossar/antikoagu.jpg | /app/project/static/nahtkurs_glossar/antikoagu.jpg |
nahtkurs_glossar/anamnese.jpg | /app/project/static/nahtkurs_glossar/anamnese.jpg |
nahtkurs_glossar/wundinfektion.jpg | /app/project/static/nahtkurs_glossar/wundinfektion.jpg |
nahtkurs_glossar/tensilestength.jpg | /app/project/static/nahtkurs_glossar/tensilestength.jpg |
nahtkurs_glossar/glucose.jpg | /app/project/static/nahtkurs_glossar/glucose.jpg |
nahtkurs_glossar/nacl.jpg | /app/project/static/nahtkurs_glossar/nacl.jpg |
sounds/temperiert_nr_7.mp3 | /app/project/static/sounds/temperiert_nr_7.mp3 |
sounds/alphorn_13.mp3 | /app/project/static/sounds/alphorn_13.mp3 |
sounds/alphorn_05.mp3 | /app/project/static/sounds/alphorn_05.mp3 |
sounds/alphorn_11.mp3 | /app/project/static/sounds/alphorn_11.mp3 |
sounds/naturton_nr_7.mp3 | /app/project/static/sounds/naturton_nr_7.mp3 |
sounds/hirtenhorn_04.mp3 | /app/project/static/sounds/hirtenhorn_04.mp3 |
sounds/alphorn_14.mp3 | /app/project/static/sounds/alphorn_14.mp3 |
sounds/alphorn_01.mp3 | /app/project/static/sounds/alphorn_01.mp3 |
sounds/alphorn_12.mp3 | /app/project/static/sounds/alphorn_12.mp3 |
sounds/alphorn_02.mp3 | /app/project/static/sounds/alphorn_02.mp3 |
sounds/alphorn_09.mp3 | /app/project/static/sounds/alphorn_09.mp3 |
sounds/alphorn_04.mp3 | /app/project/static/sounds/alphorn_04.mp3 |
sounds/alphorn_15.mp3 | /app/project/static/sounds/alphorn_15.mp3 |
sounds/hirtenhorn_07.mp3 | /app/project/static/sounds/hirtenhorn_07.mp3 |
sounds/alphorn_08.mp3 | /app/project/static/sounds/alphorn_08.mp3 |
sounds/alphorn_03.mp3 | /app/project/static/sounds/alphorn_03.mp3 |
sounds/hirtenhorn_02.mp3 | /app/project/static/sounds/hirtenhorn_02.mp3 |
sounds/alphorn_10.mp3 | /app/project/static/sounds/alphorn_10.mp3 |
sounds/hirtenhorn_01.mp3 | /app/project/static/sounds/hirtenhorn_01.mp3 |
sounds/hirtenhorn_06.mp3 | /app/project/static/sounds/hirtenhorn_06.mp3 |
sounds/alphorn_07.mp3 | /app/project/static/sounds/alphorn_07.mp3 |
sounds/temperiert_nr_11.mp3 | /app/project/static/sounds/temperiert_nr_11.mp3 |
sounds/hirtenhorn_08.mp3 | /app/project/static/sounds/hirtenhorn_08.mp3 |
sounds/naturton_nr_11.mp3 | /app/project/static/sounds/naturton_nr_11.mp3 |
sounds/alphorn_16.mp3 | /app/project/static/sounds/alphorn_16.mp3 |
sounds/hirtenhorn_05.mp3 | /app/project/static/sounds/hirtenhorn_05.mp3 |
sounds/hirtenhorn_03.mp3 | /app/project/static/sounds/hirtenhorn_03.mp3 |
sounds/alphorn_06.mp3 | /app/project/static/sounds/alphorn_06.mp3 |
django.contrib.staticfiles.finders.AppDirectoriesFinder (150 files)
Path | Location |
---|---|
modeltranslation/css/tabbed_translation_fields.css | /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css |
modeltranslation/js/clearable_inputs.js | /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js |
modeltranslation/js/tabbed_translation_fields.js | /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js |
modeltranslation/js/force_jquery.js | /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js |
admin/css/autocomplete.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css |
admin/css/responsive.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css |
admin/css/widgets.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css |
admin/css/changelists.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css |
admin/css/dark_mode.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dark_mode.css |
admin/css/responsive_rtl.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css |
admin/css/nav_sidebar.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css |
admin/css/dashboard.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css |
admin/css/forms.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css |
admin/css/rtl.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css |
admin/css/login.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css |
admin/css/base.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css |
admin/css/vendor/select2/select2.min.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css |
admin/css/vendor/select2/select2.css | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css |
admin/css/vendor/select2/LICENSE-SELECT2.md | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md |
admin/img/icon-clock.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg |
admin/img/sorting-icons.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg |
admin/img/icon-alert.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg |
admin/img/icon-changelink.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg |
admin/img/selector-icons.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg |
admin/img/calendar-icons.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg |
admin/img/tooltag-arrowright.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg |
admin/img/inline-delete.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg |
admin/img/icon-yes.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg |
admin/img/icon-unknown-alt.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg |
admin/img/icon-viewlink.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg |
admin/img/search.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg |
admin/img/icon-deletelink.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg |
admin/img/README.txt | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt |
admin/img/LICENSE | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE |
admin/img/icon-calendar.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg |
admin/img/tooltag-add.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg |
admin/img/icon-unknown.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg |
admin/img/icon-addlink.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg |
admin/img/icon-no.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg |
admin/img/gis/move_vertex_off.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg |
admin/img/gis/move_vertex_on.svg | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg |
admin/js/SelectBox.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js |
admin/js/jquery.init.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js |
admin/js/inlines.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js |
admin/js/collapse.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/collapse.js |
admin/js/filters.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/filters.js |
admin/js/change_form.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js |
admin/js/autocomplete.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js |
admin/js/nav_sidebar.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js |
admin/js/popup_response.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js |
admin/js/SelectFilter2.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js |
admin/js/actions.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js |
admin/js/core.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js |
admin/js/cancel.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js |
admin/js/prepopulate.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js |
admin/js/urlify.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js |
admin/js/calendar.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js |
admin/js/prepopulate_init.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js |
admin/js/theme.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/theme.js |
admin/js/admin/DateTimeShortcuts.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js |
admin/js/admin/RelatedObjectLookups.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js |
admin/js/vendor/select2/select2.full.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js |
admin/js/vendor/select2/select2.full.min.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js |
admin/js/vendor/select2/LICENSE.md | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md |
admin/js/vendor/select2/i18n/zh-CN.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js |
admin/js/vendor/select2/i18n/sr-Cyrl.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js |
admin/js/vendor/select2/i18n/uk.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js |
admin/js/vendor/select2/i18n/ar.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js |
admin/js/vendor/select2/i18n/ka.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js |
admin/js/vendor/select2/i18n/bn.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js |
admin/js/vendor/select2/i18n/pt.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js |
admin/js/vendor/select2/i18n/hi.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js |
admin/js/vendor/select2/i18n/dsb.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js |
admin/js/vendor/select2/i18n/bs.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js |
admin/js/vendor/select2/i18n/ru.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js |
admin/js/vendor/select2/i18n/ms.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js |
admin/js/vendor/select2/i18n/et.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js |
admin/js/vendor/select2/i18n/sl.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js |
admin/js/vendor/select2/i18n/he.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js |
admin/js/vendor/select2/i18n/is.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js |
admin/js/vendor/select2/i18n/cs.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js |
admin/js/vendor/select2/i18n/sq.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js |
admin/js/vendor/select2/i18n/sv.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js |
admin/js/vendor/select2/i18n/ne.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js |
admin/js/vendor/select2/i18n/ko.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js |
admin/js/vendor/select2/i18n/vi.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js |
admin/js/vendor/select2/i18n/ca.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js |
admin/js/vendor/select2/i18n/id.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js |
admin/js/vendor/select2/i18n/nb.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js |
admin/js/vendor/select2/i18n/hr.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js |
admin/js/vendor/select2/i18n/af.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js |
admin/js/vendor/select2/i18n/de.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js |
admin/js/vendor/select2/i18n/mk.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js |
admin/js/vendor/select2/i18n/hy.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js |
admin/js/vendor/select2/i18n/it.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js |
admin/js/vendor/select2/i18n/hu.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js |
admin/js/vendor/select2/i18n/ja.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js |
admin/js/vendor/select2/i18n/sk.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js |
admin/js/vendor/select2/i18n/hsb.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js |
admin/js/vendor/select2/i18n/ro.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js |
admin/js/vendor/select2/i18n/en.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js |
admin/js/vendor/select2/i18n/el.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js |
admin/js/vendor/select2/i18n/fa.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js |
admin/js/vendor/select2/i18n/pt-BR.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js |
admin/js/vendor/select2/i18n/da.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js |
admin/js/vendor/select2/i18n/sr.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js |
admin/js/vendor/select2/i18n/ps.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js |
admin/js/vendor/select2/i18n/lt.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js |
admin/js/vendor/select2/i18n/az.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js |
admin/js/vendor/select2/i18n/fr.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js |
admin/js/vendor/select2/i18n/fi.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js |
admin/js/vendor/select2/i18n/tk.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js |
admin/js/vendor/select2/i18n/th.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js |
admin/js/vendor/select2/i18n/gl.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js |
admin/js/vendor/select2/i18n/eu.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js |
admin/js/vendor/select2/i18n/es.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js |
admin/js/vendor/select2/i18n/km.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js |
admin/js/vendor/select2/i18n/bg.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js |
admin/js/vendor/select2/i18n/lv.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js |
admin/js/vendor/select2/i18n/zh-TW.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js |
admin/js/vendor/select2/i18n/pl.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js |
admin/js/vendor/select2/i18n/tr.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js |
admin/js/vendor/select2/i18n/nl.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js |
admin/js/vendor/xregexp/xregexp.min.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js |
admin/js/vendor/xregexp/LICENSE.txt | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt |
admin/js/vendor/xregexp/xregexp.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js |
admin/js/vendor/jquery/jquery.min.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js |
admin/js/vendor/jquery/jquery.js | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js |
admin/js/vendor/jquery/LICENSE.txt | /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt |
django_extensions/css/jquery.autocomplete.css | /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css |
django_extensions/img/indicator.gif | /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/img/indicator.gif |
django_extensions/js/jquery.ajaxQueue.js | /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js |
django_extensions/js/jquery.autocomplete.js | /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js |
django_extensions/js/jquery.bgiframe.js | /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js |
markdownx/admin/css/markdownx.css | /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.css |
markdownx/admin/css/markdownx.min.css | /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.min.css |
markdownx/js/markdownx.min.js | /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.min.js |
markdownx/js/markdownx.js | /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.js |
django-htmx.js | /usr/local/lib/python3.11/site-packages/django_htmx/static/django-htmx.js |
admin/rosetta/css/rosetta.css | /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/css/rosetta.css |
admin/rosetta/js/rosetta.js | /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/js/rosetta.js |
admin/img/icon_searchbox_rosetta.png | /usr/local/lib/python3.11/site-packages/rosetta/static/admin/img/icon_searchbox_rosetta.png |
notifications/notify.js | /usr/local/lib/python3.11/site-packages/notifications/static/notifications/notify.js |
debug_toolbar/css/toolbar.css | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css |
debug_toolbar/css/print.css | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css |
debug_toolbar/js/utils.js | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js |
debug_toolbar/js/toolbar.js | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js |
debug_toolbar/js/history.js | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js |
debug_toolbar/js/timer.js | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js |
debug_toolbar/js/redirect.js | /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js |
Templates (47 rendered)
Template paths
None
Templates
- None
- <unknown source>
-
Toggle context
{'False': False, 'None': None, 'True': True} {'raising_view_name': '', 'reason': "{'tried': [[<URLResolver <module 'debug_toolbar.urls' from " "'/usr/local/lib/python3.11/site-packages/debug_toolbar/urls.py'> " "(djdt:djdt) '__debug__/'>], [<URLResolver <URLPattern list> " "(admin:admin) 'admin/'>], [<URLResolver <module 'markdownx.urls' " "from '/usr/local/lib/python3.11/site-packages/markdownx/urls.py'> " "(None:None) 'markdownx/'>], [<URLResolver <module " "'mozilla_django_oidc.urls' from " "'/usr/local/lib/python3.11/site-packages/mozilla_django_oidc/urls.py'> " "(None:None) 'oidc/'>], [<URLResolver <module 'lms_comments.urls' " "from '/app/project/lms_comments/urls.py'> " "(lms_comments:lms_comments) 'lms-comments/'>], [<URLResolver " "<module 'impersonate.urls' from " "'/usr/local/lib/python3.11/site-packages/impersonate/urls.py'> " "(None:None) 'impersonate/'>], [<URLResolver <module " "'notifications.urls' from " "'/usr/local/lib/python3.11/site-packages/notifications/urls.py'> " "(notifications:notifications) 'notifications/'>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'users.urls' from '/app/project/users/urls.py'> (users:users) " "'users/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, " "<URLResolver <module 'allauth.urls' from " "'/usr/local/lib/python3.11/site-packages/allauth/urls.py'> " "(None:None) 'accounts/'>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLPattern 'login/' [name='login']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'tos.urls' from " "'/usr/local/lib/python3.11/site-packages/tos/urls.py'> (None:None) " "'code-of-conduct/'>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'studierende/' [name='students']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'dozierende/' [name='lecturers']>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'faq/' [name='faq']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'kontakt/' [name='contact']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'sitemap.xml' [name='sitemap']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'courses/' [name='course_list']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/' " "[name='course']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/add' [name='course_add']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/<slug:slug>-<int:pk>/edit' " "[name='course_edit']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<slug:slug>-<int:pk>/delete' [name='course_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/kontakt' " "[name='kontakt']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<int:course_id>/upload/' [name='course_file_upload']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'course-file/<int:pk>/delete' " "[name='course_file_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'nahtkurs/glossar' [name='nahtkurs_glossar']>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'chapter/add/<int:course_pk>' " "[name='chapter_add']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'chapter/<slug:slug>-<int:pk>/edit' [name='chapter_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'chapter/<slug:slug>-<int:pk>/delete' [name='chapter_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/<slug:slug>-<int:pk>/' " "[name='chapter']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/add/<int:chapter_pk>' [name='step_add']>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/edit' " "[name='step_edit']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<slug:slug>-<int:pk>/delete' [name='step_delete']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/<slug:chapter_slug>-<int:chapter_pk>/<slug:slug>-<int:pk>' " "[name='step']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<slug:slug>-<int:pk>' [name='step_redirect']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'step/<int:step_id>/upload/' " "[name='step_file_upload']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step/<int:step_id>/course-file/<int:course_file_id>' " "[name='add_file_to_step']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'step-file/<int:pk>/remove' [name='remove_file_from_step']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'path/add/<int:course_pk>' " "[name='path_add']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/<slug:slug>-<int:pk>/edit' [name='path_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/delete' " "[name='path_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/path/<slug:slug>-<int:pk>' " "[name='path']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'<slug:course_slug>-<int:course_pk>/path/<slug:path_slug>-<int:path_pk>/<slug:step_slug>-<int:step_pk>/' " "[name='pathstep']>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'pathstep/remove/<int:pk>' [name='pathstep_remove']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'sentry-debug/'>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/' " "[name='redirections']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'redirections/add/' [name='redirect_add']>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/delete/<int:pk>' " "[name='redirect_delete']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'redirections/edit/<int:pk>' [name='redirect_edit']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'redirections/search/<str:query>' " "[name='redirect_search']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'comments/moderate/<int:pk>' [name='remove_comment']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern 'htmx/empty' " "[name='empty_htmx_response']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/<int:object_pk>/remove' [name='remove_course_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/author/<int:object_pk>/remove' " "[name='remove_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:object_pk>/view' " "[name='view_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:object_pk>/edit' " "[name='edit_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/<int:related_pk>/add' " "[name='add_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/author/order' " "[name='sort_course_author_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/remove' " "[name='remove_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/view' " "[name='view_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:object_pk>/edit' " "[name='edit_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/<int:related_pk>/add' " "[name='add_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/partner/order' " "[name='sort_course_partner_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/chapter/order' " "[name='sort_course_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/chapter/<int:object_pk>/remove' " "[name='remove_course_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/path/<int:object_pk>/remove' " "[name='remove_course_path_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/<int:filter_argument>/filelist' " "[name='list_course_files_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/file/<int:object_pk>/remove' " "[name='remove_course_file_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/file/<int:object_pk>/edit' " "[name='change_course_file_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/course_run/<int:object_pk>/remove' " "[name='remove_course_run_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/course_run/<int:object_pk>/view' " "[name='view_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/course_run/<int:object_pk>/edit' " "[name='edit_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/course_run/<int:related_pk>/add' " "[name='add_course_run_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:related_pk>/add' [name='add_chapter_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/view' " "[name='view_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/edit' " "[name='edit_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/remove' " "[name='remove_chapter_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/chapter/<int:object_pk>/toggle-publish' " "[name='toggle_publish_chapter_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'step/<int:object_pk>/remove' " "[name='remove_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/step/<int:object_pk>/toggle-publish' " "[name='toggle_publish_step_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/step/order' [name='sort_step_htmx']>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> " "(tales:tales) ''>, <URLPattern " "'course/step/file/<int:object_pk>/remove' " "[name='remove_file_from_step_htmx']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' " "from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, " "<URLPattern 'course/paths/step/order' " "[name='sort_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'course/paths/step/<int:object_pk>/remove' " "[name='remove_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/<int:path_pk>/<int:course_pk>/search-step' " "[name='search_path_step_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from " "'/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern " "'path/add-step' [name='add_pathstep_htmx']>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'lms_base.urls' from '/app/project/lms_base/urls.py'> (base:base) " "'base/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, " "<URLResolver <module 'rosetta.urls' from " "'/usr/local/lib/python3.11/site-packages/rosetta/urls.py'> " "(None:None) 'rosetta/'>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'tags.urls' from " "'/app/project/tags/urls.py'> (tags:tags) 'tags/'>], [<URLResolver " "<URLResolver list> (None:None) 'en/'>, <URLResolver <module " "'startpage.urls' from '/app/project/startpage/urls.py'> " "(startpage:startpage) ''>, <URLPattern " "'categories/<int:category_pk>/teaser' " "[name='category_teaser_htmx']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'categories/edit-courses' " "[name='edit_categories_courses']>], [<URLResolver <URLResolver " "list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' " "from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/edit-slider-item/<int:pk>' " "[name='edit_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/list-slider-items' " "[name='list_slider_items']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/delete-slider-item/<int:pk>' " "[name='delete_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern 'startpage/create-slider-item' " "[name='save_slider_item']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'startpage.urls' from " "'/app/project/startpage/urls.py'> (startpage:startpage) ''>, " "<URLPattern '' [name='home']>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'lms_static_texts.urls' " "from '/app/project/lms_static_texts/urls.py'> " "(lms_static_texts:lms_static_texts) 'static-texts/'>], " "[<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver " "<module 'search.urls' from '/app/project/search/urls.py'> " "(search:search) 'search/'>], [<URLResolver <URLResolver list> " "(None:None) 'en/'>, <URLResolver <module 'dashboard.urls' from " "'/app/project/dashboard/urls.py'> (dashboard:dashboard) " "'dashboard/'>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'link_check.urls' from " "'/app/project/link_check/urls.py'> (linkcheck:linkcheck) " "'linkcheck/'>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'reporting.urls' from " "'/app/project/reporting/urls.py'> (reporting:reporting) " "'reporting/'>], [<URLResolver <URLResolver list> (None:None) " "'en/'>, <URLResolver <module 'django.conf.urls.i18n' from " "'/usr/local/lib/python3.11/site-packages/django/conf/urls/i18n.py'> " "(None:None) 'i18n/'>], [<URLPattern '^media/(?P<path>.*)$'>], " "[<URLPattern '^static/(?P<path>.*)$'>], [<URLPattern '400/'>], " "[<URLPattern '403/'>], [<URLPattern '404/'>], [<URLPattern " "'500/'>]], 'path': 'en/histologie-12'}", 'request': '<<request>>', 'request_path': 'en/histologie-12', 'resolved': False, 'root_urlconf': 'config.urls', 'settings': {'ABSOLUTE_URL_OVERRIDES': {}, 'ACCOUNT_ADAPTER': 'lms_base.adapter.AccountAdapter', 'ADMINS': (('admin', 'notifications-nmc@unibas.ch'),), 'ADMIN_URL': 'admin/', 'ALLOWED_HOSTS': ['*'], 'APPEND_SLASH': True, 'AUTHENTICATION_BACKENDS': ('rules.permissions.ObjectPermissionBackend', 'lms_base.authentication.EDUIDAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend'), 'AUTH_PASSWORD_VALIDATORS': '********************', 'AUTH_USER_MODEL': 'users.User', 'BASE_DIR': '/app/project/config/../', 'CACHALOT_ENABLED': True, 'CACHES': {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}, 'CACHE_MIDDLEWARE_ALIAS': 'default', 'CACHE_MIDDLEWARE_KEY_PREFIX': '********************', 'CACHE_MIDDLEWARE_SECONDS': 600, 'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'CRISPY_ALLOWED_TEMPLATE_PACKS': 'bootstrap5', 'CRISPY_TEMPLATE_PACK': 'bootstrap5', 'CSRF_COOKIE_AGE': 31449600, 'CSRF_COOKIE_DOMAIN': None, 'CSRF_COOKIE_HTTPONLY': False, 'CSRF_COOKIE_MASKED': False, 'CSRF_COOKIE_NAME': 'csrftoken', 'CSRF_COOKIE_PATH': '/', 'CSRF_COOKIE_SAMESITE': None, 'CSRF_COOKIE_SECURE': False, 'CSRF_FAILURE_VIEW': 'django.views.csrf.csrf_failure', 'CSRF_HEADER_NAME': 'HTTP_X_CSRFTOKEN', 'CSRF_TRUSTED_ORIGINS': [], 'CSRF_USE_SESSIONS': False, 'DATABASES': {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'tales-postgres', 'NAME': 'tptt', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'tales_db_user'}}, 'DATABASE_ROUTERS': [], 'DATA_UPLOAD_MAX_MEMORY_SIZE': 2621440, 'DATA_UPLOAD_MAX_NUMBER_FIELDS': 1000, 'DATA_UPLOAD_MAX_NUMBER_FILES': 100, 'DATETIME_FORMAT': 'N j, Y, P', 'DATETIME_INPUT_FORMATS': ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'], 'DATE_FORMAT': 'N j, Y', 'DATE_INPUT_FORMATS': ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'], 'DEBUG': True, 'DEBUG_PROPAGATE_EXCEPTIONS': False, 'DEBUG_TOOLBAR_CONFIG': {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x706cb92a96c0>}, 'DEBUG_TOOLBAR_PANELS': ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel'], 'DECIMAL_SEPARATOR': '.', 'DEFAULT_AUTO_FIELD': 'django.db.models.AutoField', 'DEFAULT_CHARSET': 'utf-8', 'DEFAULT_EXCEPTION_REPORTER': 'django.views.debug.ExceptionReporter', 'DEFAULT_EXCEPTION_REPORTER_FILTER': 'django.views.debug.SafeExceptionReporterFilter', 'DEFAULT_FILE_STORAGE': 'django.core.files.storage.FileSystemStorage', 'DEFAULT_FROM_EMAIL': 'contact-nmc@unibas.ch', 'DEFAULT_INDEX_TABLESPACE': '', 'DEFAULT_TABLESPACE': '', 'DEPLOY_ENV': 'staging', 'DISALLOWED_USER_AGENTS': [], 'DJANGO_APPS': ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize'), 'DJANGO_NOTIFICATIONS_CONFIG': {'USE_JSONFIELD': True}, 'EMAIL_BACKEND': 'django.core.mail.backends.smtp.EmailBackend', 'EMAIL_HOST': 'smtp.unibas.ch', 'EMAIL_HOST_PASSWORD': '********************', 'EMAIL_HOST_USER': '', 'EMAIL_PORT': 25, 'EMAIL_SSL_CERTFILE': None, 'EMAIL_SSL_KEYFILE': '********************', 'EMAIL_SUBJECT_PREFIX': '[Django] ', 'EMAIL_TIMEOUT': None, 'EMAIL_USE_LOCALTIME': False, 'EMAIL_USE_SSL': False, 'EMAIL_USE_TLS': False, 'FILE_UPLOAD_DIRECTORY_PERMISSIONS': None, 'FILE_UPLOAD_HANDLERS': ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'], 'FILE_UPLOAD_MAX_MEMORY_SIZE': 2621440, 'FILE_UPLOAD_PERMISSIONS': 420, 'FILE_UPLOAD_TEMP_DIR': None, 'FIRST_DAY_OF_WEEK': 0, 'FIXTURE_DIRS': [], 'FORCE_SCRIPT_NAME': None, 'FORMAT_MODULE_PATH': None, 'FORM_RENDERER': 'django.forms.renderers.TemplatesSetting', 'IGNORABLE_404_URLS': [], 'IMAGEKIT_CACHEFILE_DIR': 'CACHE/images', 'IMAGEKIT_CACHEFILE_NAMER': 'imagekit.cachefiles.namers.hash', 'IMAGEKIT_CACHE_BACKEND': 'default', 'IMAGEKIT_CACHE_PREFIX': 'imagekit:', 'IMAGEKIT_CACHE_TIMEOUT': 300, 'IMAGEKIT_DEFAULT_CACHEFILE_BACKEND': 'imagekit.cachefiles.backends.Simple', 'IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY': 'imagekit.cachefiles.strategies.JustInTime', 'IMAGEKIT_DEFAULT_FILE_STORAGE': 'default', 'IMAGEKIT_SPEC_CACHEFILE_NAMER': 'imagekit.cachefiles.namers.source_name_as_path', 'IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY': '********************', 'INSTALLED_APPS': ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig', 'storages', 'debug_toolbar'), 'INTERNAL_IPS': ['127.0.0.1'], 'LANGUAGES': (('de', 'German'), ('en', 'English'), ('fr', 'French')), 'LANGUAGES_BIDI': ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'], 'LANGUAGE_CODE': 'de', 'LANGUAGE_COOKIE_AGE': None, 'LANGUAGE_COOKIE_DOMAIN': None, 'LANGUAGE_COOKIE_HTTPONLY': False, 'LANGUAGE_COOKIE_NAME': 'django_language', 'LANGUAGE_COOKIE_PATH': '/', 'LANGUAGE_COOKIE_SAMESITE': None, 'LANGUAGE_COOKIE_SECURE': False, 'LOCALE_PATHS': ['/app/project/config/../locale'], 'LOCAL_APPS': ('users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'lms_roles.apps.LMSRolesConfig'), 'LOGGING': {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} ' '{levelname} ' '{name} ' '{module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}, 'LOGGING_CONFIG': 'logging.config.dictConfig', 'LOGIN_REDIRECT_URL': '/', 'LOGIN_URL': 'account_login', 'LOGOUT_REDIRECT_URL': '/', 'MANAGERS': [], 'MARKDOWNX_EDITOR_RESIZABLE': True, 'MARKDOWNX_IMAGE_MAX_SIZE': {'quality': 90, 'size': (1920, 5600)}, 'MARKDOWNX_MARKDOWNIFY_FUNCTION': 'lms_base.utils.markdownify', 'MARKDOWNX_MARKDOWN_EXTENSIONS': ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension'], 'MARKDOWNX_MEDIA_PATH': 'markdownx/', 'MARKDOWNX_UPLOAD_URLS_PATH': '/markdownx/upload/', 'MARKDOWNX_URLS_PATH': '/markdownx/markdownify/', 'MEDIA_ROOT': '/app/project/media', 'MEDIA_URL': '/media/', 'MESSAGE_REAPPEAR_TIME': 600, 'MESSAGE_STORAGE': 'django.contrib.messages.storage.fallback.FallbackStorage', 'MIDDLEWARE': ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware'], 'MIGRATION_MODULES': {'tos': 'lms_tales.migrate.tos'}, 'MODELTRANSLATION_CUSTOM_FIELDS': ('JSONField',), 'MODELTRANSLATION_DEFAULT_LANGUAGE': 'de', 'MODELTRANSLATION_FALLBACK_LANGUAGES': ('de', 'en', 'fr'), 'MONTH_DAY_FORMAT': 'F j', 'NOTIFICATIONS_NOTIFICATION_MODEL': 'notifications.Notification', 'NUMBER_GROUPING': 0, 'OIDC_OP_AUTHORIZATION_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/authorize', 'OIDC_OP_JWKS_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/keyset', 'OIDC_OP_TOKEN_ENDPOINT': '********************', 'OIDC_OP_USER_ENDPOINT': 'https://login.test.eduid.ch/idp/profile/oidc/userinfo', 'OIDC_RP_CLIENT_ID': 'unibas-tales', 'OIDC_RP_CLIENT_SECRET': '********************', 'OIDC_RP_SCOPES': 'openid email profile ' 'https://login.eduid.ch/authz/User.Read', 'OIDC_RP_SIGN_ALGO': 'RS256', 'OIDC_TOKEN_USE_BASIC_AUTH': '********************', 'PASSWORD_HASHERS': '********************', 'PASSWORD_RESET_TIMEOUT': '********************', 'PREPEND_WWW': False, 'PROJECT_DIR': '/app/project/config/../', 'Q_CLUSTER': {'catch_up': False, 'django_redis': 'default', 'name': 'QCluster', 'retry': 600, 'timeout': 500, 'workers': 4}, 'RELEASE_NAME': '', 'REQUIRE_SUPERUSER': True, 'ROOT_URLCONF': 'config.urls', 'ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE': 'de', 'ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME': 'Deutsch', 'ROSETTA_SHOW_AT_ADMIN_PANEL': 'True', 'SECRET_KEY': '********************', 'SECRET_KEY_FALLBACKS': '********************', 'SECURE_CONTENT_TYPE_NOSNIFF': True, 'SECURE_CROSS_ORIGIN_OPENER_POLICY': 'same-origin', 'SECURE_HSTS_INCLUDE_SUBDOMAINS': False, 'SECURE_HSTS_PRELOAD': False, 'SECURE_HSTS_SECONDS': 0, 'SECURE_PROXY_SSL_HEADER': ('HTTP_X_FORWARDED_PROTO', 'https'), 'SECURE_REDIRECT_EXEMPT': [], 'SECURE_REFERRER_POLICY': 'same-origin', 'SECURE_SSL_HOST': None, 'SECURE_SSL_REDIRECT': False, 'SERVER_EMAIL': 'root@localhost', 'SESSION_CACHE_ALIAS': 'default', 'SESSION_COOKIE_AGE': 1209600, 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_NAME': 'sessionid', 'SESSION_COOKIE_PATH': '/', 'SESSION_COOKIE_SAMESITE': None, 'SESSION_COOKIE_SECURE': False, 'SESSION_ENGINE': 'django.contrib.sessions.backends.cache', 'SESSION_EXPIRE_AT_BROWSER_CLOSE': False, 'SESSION_FILE_PATH': None, 'SESSION_SAVE_EVERY_REQUEST': False, 'SESSION_SERIALIZER': 'django.contrib.sessions.serializers.JSONSerializer', 'SETTINGS_MODULE': 'config.settings.staging', 'SHORT_DATETIME_FORMAT': 'm/d/Y P', 'SHORT_DATE_FORMAT': 'm/d/Y', 'SIGNING_BACKEND': 'django.core.signing.TimestampSigner', 'SILENCED_SYSTEM_CHECKS': [], 'SITE_DOMAIN': 'https://nmc-tales-staging.nmc.unibas.ch/', 'SITE_ID': 1, 'SLACK_WEBHOOK': 'https://hooks.slack.com/services/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', 'STAGING_EMAIL_RECIPIENTS': ['notifications-nmc@unibas.ch'], 'STATICFILES_DIRS': ['/app/project/config/../static'], 'STATICFILES_FINDERS': ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'), 'STATICFILES_STORAGE': 'django.contrib.staticfiles.storage.StaticFilesStorage', 'STATIC_ROOT': '/app/project/config/../../staticfiles', 'STATIC_URL': '/static/', 'STORAGES': {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}, 'TALES_BASE_URL': 'https://tales.nmc.unibas.ch', 'TALES_VERSION': 'dev', 'TEMPLATES': [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.11/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}], 'TEST_NON_SERIALIZED_APPS': [], 'TEST_RUNNER': 'django.test.runner.DiscoverRunner', 'THIRD_PARTY_APPS': ('debug_toolbar',), 'THOUSAND_SEPARATOR': ',', 'TIME_FORMAT': 'P', 'TIME_INPUT_FORMATS': ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'], 'TIME_ZONE': 'Europe/Zurich', 'USER_DEACTIVATION_AFTER_DAYS': 730, 'USER_DELETION_AFTER_DAYS': 912, 'USE_DEPRECATED_PYTZ': False, 'USE_I18N': True, 'USE_L10N': True, 'USE_THOUSAND_SEPARATOR': False, 'USE_TZ': True, 'USE_X_FORWARDED_HOST': True, 'USE_X_FORWARDED_PORT': False, 'VIEW_CACHE_TTL': 600, 'WAFFLE_LOG_MISSING_FLAGS': 30, 'WAFFLE_LOG_MISSING_SAMPLES': 30, 'WAFFLE_LOG_MISSING_SWITCHES': 30, 'WSGI_APPLICATION': 'config.wsgi.application', 'X_FRAME_OPTIONS': 'DENY', 'YEAR_MONTH_FORMAT': 'F Y'}, 'urlconf': 'config.urls', 'urlpatterns': [[<URLResolver <module 'debug_toolbar.urls' from '/usr/local/lib/python3.11/site-packages/debug_toolbar/urls.py'> (djdt:djdt) '__debug__/'>], [<URLResolver <URLPattern list> (admin:admin) 'admin/'>], [<URLResolver <module 'markdownx.urls' from '/usr/local/lib/python3.11/site-packages/markdownx/urls.py'> (None:None) 'markdownx/'>], [<URLResolver <module 'mozilla_django_oidc.urls' from '/usr/local/lib/python3.11/site-packages/mozilla_django_oidc/urls.py'> (None:None) 'oidc/'>], [<URLResolver <module 'lms_comments.urls' from '/app/project/lms_comments/urls.py'> (lms_comments:lms_comments) 'lms-comments/'>], [<URLResolver <module 'impersonate.urls' from '/usr/local/lib/python3.11/site-packages/impersonate/urls.py'> (None:None) 'impersonate/'>], [<URLResolver <module 'notifications.urls' from '/usr/local/lib/python3.11/site-packages/notifications/urls.py'> (notifications:notifications) 'notifications/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'users.urls' from '/app/project/users/urls.py'> (users:users) 'users/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'allauth.urls' from '/usr/local/lib/python3.11/site-packages/allauth/urls.py'> (None:None) 'accounts/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLPattern 'login/' [name='login']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'tos.urls' from '/usr/local/lib/python3.11/site-packages/tos/urls.py'> (None:None) 'code-of-conduct/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'studierende/' [name='students']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'dozierende/' [name='lecturers']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'faq/' [name='faq']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'kontakt/' [name='contact']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'sitemap.xml' [name='sitemap']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'courses/' [name='course_list']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/' [name='course']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/add' [name='course_add']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<slug:slug>-<int:pk>/edit' [name='course_edit']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<slug:slug>-<int:pk>/delete' [name='course_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:slug>-<int:pk>/kontakt' [name='kontakt']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:course_id>/upload/' [name='course_file_upload']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course-file/<int:pk>/delete' [name='course_file_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'nahtkurs/glossar' [name='nahtkurs_glossar']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/add/<int:course_pk>' [name='chapter_add']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/<slug:slug>-<int:pk>/edit' [name='chapter_edit']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'chapter/<slug:slug>-<int:pk>/delete' [name='chapter_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/<slug:slug>-<int:pk>/' [name='chapter']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/add/<int:chapter_pk>' [name='step_add']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/edit' [name='step_edit']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>/delete' [name='step_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/<slug:chapter_slug>-<int:chapter_pk>/<slug:slug>-<int:pk>' [name='step']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<slug:slug>-<int:pk>' [name='step_redirect']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:step_id>/upload/' [name='step_file_upload']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:step_id>/course-file/<int:course_file_id>' [name='add_file_to_step']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step-file/<int:pk>/remove' [name='remove_file_from_step']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/add/<int:course_pk>' [name='path_add']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/edit' [name='path_edit']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<slug:slug>-<int:pk>/delete' [name='path_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/path/<slug:slug>-<int:pk>' [name='path']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern '<slug:course_slug>-<int:course_pk>/path/<slug:path_slug>-<int:path_pk>/<slug:step_slug>-<int:step_pk>/' [name='pathstep']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'pathstep/remove/<int:pk>' [name='pathstep_remove']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'sentry-debug/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/' [name='redirections']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/add/' [name='redirect_add']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/delete/<int:pk>' [name='redirect_delete']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/edit/<int:pk>' [name='redirect_edit']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'redirections/search/<str:query>' [name='redirect_search']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'comments/moderate/<int:pk>' [name='remove_comment']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'htmx/empty' [name='empty_htmx_response']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:object_pk>/remove' [name='remove_course_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/remove' [name='remove_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/view' [name='view_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:object_pk>/edit' [name='edit_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/<int:related_pk>/add' [name='add_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/author/order' [name='sort_course_author_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/remove' [name='remove_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/view' [name='view_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:object_pk>/edit' [name='edit_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/<int:related_pk>/add' [name='add_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/partner/order' [name='sort_course_partner_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/order' [name='sort_course_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/remove' [name='remove_course_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/path/<int:object_pk>/remove' [name='remove_course_path_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/<int:filter_argument>/filelist' [name='list_course_files_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/file/<int:object_pk>/remove' [name='remove_course_file_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/file/<int:object_pk>/edit' [name='change_course_file_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/remove' [name='remove_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/view' [name='view_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:object_pk>/edit' [name='edit_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/course_run/<int:related_pk>/add' [name='add_course_run_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:related_pk>/add' [name='add_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/view' [name='view_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/edit' [name='edit_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/remove' [name='remove_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/chapter/<int:object_pk>/toggle-publish' [name='toggle_publish_chapter_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'step/<int:object_pk>/remove' [name='remove_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/<int:object_pk>/toggle-publish' [name='toggle_publish_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/order' [name='sort_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/step/file/<int:object_pk>/remove' [name='remove_file_from_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/paths/step/order' [name='sort_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'course/paths/step/<int:object_pk>/remove' [name='remove_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/<int:path_pk>/<int:course_pk>/search-step' [name='search_path_step_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_tales.urls' from '/app/project/lms_tales/urls.py'> (tales:tales) ''>, <URLPattern 'path/add-step' [name='add_pathstep_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_base.urls' from '/app/project/lms_base/urls.py'> (base:base) 'base/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'rosetta.urls' from '/usr/local/lib/python3.11/site-packages/rosetta/urls.py'> (None:None) 'rosetta/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'tags.urls' from '/app/project/tags/urls.py'> (tags:tags) 'tags/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'categories/<int:category_pk>/teaser' [name='category_teaser_htmx']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'categories/edit-courses' [name='edit_categories_courses']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/edit-slider-item/<int:pk>' [name='edit_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/list-slider-items' [name='list_slider_items']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/delete-slider-item/<int:pk>' [name='delete_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern 'startpage/create-slider-item' [name='save_slider_item']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'startpage.urls' from '/app/project/startpage/urls.py'> (startpage:startpage) ''>, <URLPattern '' [name='home']>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'lms_static_texts.urls' from '/app/project/lms_static_texts/urls.py'> (lms_static_texts:lms_static_texts) 'static-texts/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'search.urls' from '/app/project/search/urls.py'> (search:search) 'search/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'dashboard.urls' from '/app/project/dashboard/urls.py'> (dashboard:dashboard) 'dashboard/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'link_check.urls' from '/app/project/link_check/urls.py'> (linkcheck:linkcheck) 'linkcheck/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'reporting.urls' from '/app/project/reporting/urls.py'> (reporting:reporting) 'reporting/'>], [<URLResolver <URLResolver list> (None:None) 'en/'>, <URLResolver <module 'django.conf.urls.i18n' from '/usr/local/lib/python3.11/site-packages/django/conf/urls/i18n.py'> (None:None) 'i18n/'>], [<URLPattern '^media/(?P<path>.*)$'>], [<URLPattern '^static/(?P<path>.*)$'>], [<URLPattern '400/'>], [<URLPattern '403/'>], [<URLPattern '404/'>], [<URLPattern '500/'>]]}
- cachalot/panel.html
- /usr/local/lib/python3.11/site-packages/cachalot/templates/cachalot/panel.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'invalidations_per_db': dict_items([('default', [('django_q', 'Failure', datetime.datetime(2025, 4, 4, 11, 30, 13, 515122)), ('django_q', 'Schedule', datetime.datetime(2025, 4, 4, 11, 30, 10, 351623)), ('reporting', 'Report', datetime.datetime(2025, 4, 4, 9, 5, 11, 893340)), ('lms_tales', 'CourseMetrics', datetime.datetime(2025, 4, 4, 1, 0, 24, 546590)), ('search', 'FulltextSearchModel', datetime.datetime(2025, 4, 4, 0, 0, 26, 119002)), ('lms_roles', 'CourseRole', datetime.datetime(2025, 2, 11, 12, 14, 18, 842206)), ('search', 'TrigramSearchModel', datetime.datetime(2025, 2, 11, 12, 14, 18, 831449)), ('startpage', 'SliderItem', datetime.datetime(2025, 2, 11, 12, 14, 18, 824687)), ('startpage', 'CategoryCourse', datetime.datetime(2025, 2, 11, 12, 14, 18, 824687)), ('tags', 'Category', datetime.datetime(2025, 2, 11, 12, 14, 18, 817718)), ('tags', 'Tag', datetime.datetime(2025, 2, 11, 12, 14, 18, 817718)), ('lms_static_texts', 'StaticText', datetime.datetime(2025, 2, 11, 12, 14, 18, 810671)), ('lms_static_texts', 'HistoricalStaticText', datetime.datetime(2025, 2, 11, 12, 14, 18, 810671)), ('lms_comments', 'Comment', datetime.datetime(2025, 2, 11, 12, 14, 18, 779678)), ('lms_comments', 'Reply', datetime.datetime(2025, 2, 11, 12, 14, 18, 779678)), ('lms_comments', 'Reaction', datetime.datetime(2025, 2, 11, 12, 14, 18, 779678)), ('lms_comments', 'Flag', datetime.datetime(2025, 2, 11, 12, 14, 18, 779678)), ('lms_tales', 'TalesStep', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesStepFileNew', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesStepFile', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesCourseFile', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesChapter', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesCourse', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesAuthor', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesPartner', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesGlossaryItem', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesPath', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesPathStep', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesCourseRun', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'TalesCourseRunStep', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'ScheduledMessage', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'HistoricalTalesStep', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'HistoricalTalesStepFile', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'HistoricalTalesChapter', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'HistoricalTalesCourse', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_tales', 'HistoricalTalesPath', datetime.datetime(2025, 2, 11, 12, 14, 18, 768985)), ('lms_base', 'GlossaryMixin', datetime.datetime(2025, 2, 11, 12, 14, 18, 734014)), ('lms_base', 'GlossaryItemMixin', datetime.datetime(2025, 2, 11, 12, 14, 18, 734014)), ('users', 'User', datetime.datetime(2025, 2, 11, 12, 14, 18, 726994)), ('users', 'UserSettings', datetime.datetime(2025, 2, 11, 12, 14, 18, 726994)), ('auth', 'Permission', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('auth', 'Group', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('contenttypes', 'ContentType', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('sessions', 'Session', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('sites', 'Site', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('flatpages', 'FlatPage', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('admin', 'LogEntry', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('redirects', 'Redirect', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('account', 'EmailAddress', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('account', 'EmailConfirmation', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('socialaccount', 'SocialApp', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('socialaccount', 'SocialAccount', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('socialaccount', 'SocialToken', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('waffle', 'Flag', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('waffle', 'Switch', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('waffle', 'Sample', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('tos', 'TermsOfService', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('tos', 'UserAgreement', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('impersonate', 'ImpersonationLog', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('django_q', 'OrmQ', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815)), ('notifications', 'Notification', datetime.datetime(2025, 2, 11, 12, 14, 18, 718815))])])}
- course_home.html
- /app/project/lms_tales/templates/course_home.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>}
- lms_tales_base.html
- /app/project/templates/lms_tales_base.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>}
- base.html
- /app/project/templates/base.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>}
- step/step_home.html
- /app/project/lms_tales/templates/step/step_home.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>}
- lms_tales_base.html
- /app/project/templates/lms_tales_base.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>}
- base.html
- /app/project/templates/base.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>}
- components/header.html
- /app/project/templates/components/header.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
- components/sidebar-navigation.html
- /app/project/templates/components/sidebar-navigation.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c95937f10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c95936010>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c959374d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c95936e90>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
- components/header.html
- /app/project/templates/components/header.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
- components/sidebar-navigation.html
- /app/project/templates/components/sidebar-navigation.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c95cc1d10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8da30050>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95cc1390>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c945e1690>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
- course-title.html
- /app/project/lms_tales/templates/course-title.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: breadcrumb-bar. Contents: [<TextNode: '\n <div id="tit'>, <Block Node: sidebar-arrow. Contents: [<TextNode: '\n <div'>, <django.template.library.SimpleNode object at 0x706c8d544fd0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8f795090>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"course-title.html"'>>, <TextNode: '\n'>]>}
- step/step-title.html
- /app/project/lms_tales/templates/step/step-title.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'8BQTebGGdLOqwFkVEFlfTCgLUk6Qw8JGL5oAiJRv9kL1TIylOgV6i1z939NTZpzS'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/wissen-sichtbar-machen-lernen-erleichtern-258/gestaltgesetze-1538'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8dbb3950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8dbb3950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Wissen sichtbar machen – Lernen erleichtern>, 'course_contact': 'J', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gestaltgesetze>, 'talesstep': <TalesStep: Gestaltgesetze>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c96c15ad0>} {'block': <Block Node: breadcrumb-bar. Contents: [<TextNode: '\n <div id="tit'>, <Block Node: sidebar-arrow. Contents: [<TextNode: '\n <div'>, <django.template.library.SimpleNode object at 0x706c945e37d0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c9433ba90>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
- htmx/course-author-list.html
- /app/project/lms_tales/templates/htmx/course-author-list.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Duncan K. Athinya [dka@vestergaard.com](mailto:dka@vestergaard.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Konstantina Boutsika [konstantina.boutsika@swisstph.ch](mailto:konstantina.boutsika@swisstph.ch)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Elizabeth Chizema [EChizema@alma2030.org](mailto:EChizema@alma2030.org)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Kwame Desewu [kdesewu@agamal.org](mailto:kdesewu@agamal.org)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Armel Djenontin [armeldj@yahoo.fr](mailto:armeldj@yahoo.fr)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Christen Fornadel [Christen.Fornadel@ivcc.com](mailto: Christen.Fornadel@ivcc.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Ian Hastings [Ian.Hastings@lstmed.ac.uk](mailto:Ian.Hastings@lstmed.ac.uk)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Lina Heltsche [lina.heltsche@swisstph.ch](mailto:lina.heltsche@swisstph.ch)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Mark Hoppé [mark.hoppe@syngenta.com](mailto:mark.hoppe@syngenta.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Sebastian Horstmann [sebastian.horstmann@bayer.com](mailto:sebastian.horstmann@bayer.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Silvie Huijben [shuijben@asu.edu](mailto:shuijben@asu.edu)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Helen Jamet [Helen.Jamet@gatesfoundation.org](mailto:Helen.Jamet@gatesfoundation.org)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Ravindra Jayanetti [ravindrajayanetti@yahoo.com](mailto:ravindrajayanetti@yahoo.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Kevin Keyaert [kevin.keyaert@gmail.com](mailto:kevin.keyaert@gmail.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Jan Kolaczinski [kolaczinskij@who.int](mailto:kolaczinskij@who.int)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Prisca Kweyamba [pkweyamba@ihi.or.tz](mailto:pkweyamba@ihi.or.tz)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Michael Macdonald [macdonaldm@macito.net](mailto: macdonaldm@macito.net)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Keziah L. Malm [kezmalm@yahoo.com](mailto:kezmalm@yahoo.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: David McGuire [David.McGuire@ivcc.com](mailto:David.McGuire@ivcc.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Pie Müller [pie.mueller@swisstph.ch](mailto:pie.mueller@swisstph.ch)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Eric O. Ochomo [ericochomo@yahoo.com](mailto:ericochomo@yahoo.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Fredros Okumu [fredros@ihi.or.tz](mailto:fredros@ihi.or.tz)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Andrew Saibu [Andrew.Saibu@ivcc.com](mailto:Andrew.Saibu@ivcc.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Chadwick Sikaala [csikaala@sadce8.org](mailto:csikaala@sadce8.org)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Tobias Suter [tobias.suter@swisstph.ch](mailto:tobias.suter@swisstph.ch)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Raman Velayudhan [VelayudhanR@who.int](mailto:VelayudhanR@who.int)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Barbara Wedel [barbara.wedel@basf.com](mailto:barbara.wedel@basf.com)>}
- htmx/course-author-detail.html
- /app/project/lms_tales/templates/htmx/course-author-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<multilingualqueryset of lms_tales.TalesAuthor>>'} {'author': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>, 'forloop': {'counter': 28, 'counter0': 27, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: Nadja Wipf [nadja.wipf@bluewin.ch](mailto:nadja.wipf@bluewin.ch)>}
- htmx/course-partner-list.html
- /app/project/lms_tales/templates/htmx/course-partner-list.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<queryset of lms_tales.TalesPartner>>'}
- htmx/course-partner-detail.html
- /app/project/lms_tales/templates/htmx/course-partner-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: Partner>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/Swiss_TPH_for_Tales_1024x1024/59994c1548a824b17c92ea4701e04f98.jpg>}
- htmx/course-partner-detail.html
- /app/project/lms_tales/templates/htmx/course-partner-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/UK_Aid_for_Tales_1024x1024/8afb35babeb0d7abb19cfdd89654000d.jpg>}
- htmx/course-partner-detail.html
- /app/project/lms_tales/templates/htmx/course-partner-detail.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'j6a1MjRWLC3nX0ExqWtwCjghgo3bOFAlWAIIQR2LHb0Yk3SXAx3n1IzFpdKehWqx'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/the-resistant-mosquito-43/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8f797c10>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8f797c10>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: The Resistant Mosquito>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Welcome>, 'is_editor': False, 'object': <TalesCourse: The Resistant Mosquito>, 'talescourse': <TalesCourse: The Resistant Mosquito>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c8d766990>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, <TextNode: '\n'>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c95898190>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589b890>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c9589a050>, <TextNode: '\n <div style="'>, <Variable Node: MEDIA_URL>, <Variable Node: object.title_image>, <TextNode: "');\n ">, <Waffle node: 'show_language_warning'>, <TextNode: '\n '>, <Variable Node: object.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n <div'>, <WithNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Waffle node: 'path_is_active'>, <TextNode: '\n '>, <TextNode: '\n <div'>]>, 'can_add': False, 'can_change': False, 'can_delete': False} {'objects': '<<queryset of lms_tales.TalesPartner>>'} {'forloop': {'counter': 3, 'counter0': 2, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>} {'object': <TalesPartner: The funding for this MOOC was provided by IVCC through a grant from UK Aid. We are extremely grateful for the support of UK Aid and IVCC.>, 'thumb': <ImageCacheFile: CACHE/images/the-resistant-mosquito/IVCC_for_Tales_1024x1024/fee9564244c26cdf70a02d8c1e0a7f78.jpg>}
Context processors
None
Cache calls from 1 backend
Summary
Total calls | Total time | Cache hits | Cache misses |
---|---|---|---|
2 | 3.669437486678362 ms | 61 | 1 |
Commands
add | get | set | get_or_set | touch | delete | clear | get_many | set_many | delete_many | has_key | incr | decr | incr_version | decr_version |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Calls
Time (ms) | Type | Arguments | Keyword arguments | Backend | |
---|---|---|---|---|---|
2.9398 | get_many | (dict_keys(['b5ac959681ff06eff632d25a5961a4d3cad09b42', '542c27005f4e84288827ce70a7d49bc73324a5e7', '887f8247d0ff979264c73b069f790024b2aa98e1', 'a2cec6efb2cb51d9fcdc73ec65d0d02848d3205f', 'af167bf678e72a9b2a64d8869d420b8d25e96148', 'f2b266a5acd7f191551fca80dea8475d456a300c', 'e5890f0f95e54c95fc7d85ffd3cd8f5079a384eb', '7d22fa9ec7aaf50b239b17bb4529f27be72f4b3d', 'fab86eaeb6f68c1bd14e3c42d6a32fc63fe5c10b', '1671d58e08fb6227d160e4add3baac34f778006f', '5634047d837b3106d3997f0611a298a16f6754cb', '38c0c9db04f183fb89086db2a3a02d20d5c1cbda', '33cd0b10f8c2fd53802b0948820b8b58da6bb27c', 'dbdc4e6f3de4931fbb7e39044291d87c49a581a7', 'bf555e2c224baeeac5838ee69c053900ce037b1d', '452aaa2adbf5d826d715538ebfd87013a599bacd', '5ef73f3d610667d7836abd847979ad8d02582140', '28b4f1c78186b497fc0611b76d5609a36a170804', 'acd1c2a120952e0445e89d8a2cc8faa99cc73454', '3fdb5b63faddfa01f5ebd09a89b74c9b3ec742bf', 'bc41695a90f568da6f9c44d14dbb30130bea76db', '6d6bdc7046f6d1410bd41d09cd570831af97fd31', '2288e6f142e998339c6d4985913358f76533a29e', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', 'bf2a5aa392ac965fc14b9cc5fc8fcce588b2cf57', '9de26d60cec57eaab1ec19a62cf772073ae0e30f', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'b33158a576dd24b41063563867ce3f9044eb1acf', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d', 'd34b8ed7c3bb0d3a712a5e42065744014bfe1542']),) | {} | <django_redis.cache.RedisCache object at 0x706cb63263d0> | |
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101) return _run_old_run_func() /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94) return old_run_func(self, *a, **kw) /usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83) work_item.run() /usr/local/lib/python3.11/concurrent/futures/thread.py in run(58) result = self.fn(*self.args, **self.kwargs) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522) return func(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(32) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(168) response = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(40) self.collect_invalidations() /usr/local/lib/python3.11/site-packages/cachalot/panels.py in collect_invalidations(52) for cache_key, timestamp in cache.get_many( |
|||||
0.7296 | get | ('view_cache_view_/en/the-resistant-mosquito-43/_anonymous', None) | {} | <django_redis.cache.RedisCache object at 0x706cb63263d0> | |
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101) return _run_old_run_func() /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94) return old_run_func(self, *a, **kw) /usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83) work_item.run() /usr/local/lib/python3.11/concurrent/futures/thread.py in run(58) result = self.fn(*self.args, **self.kwargs) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522) return func(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(32) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(168) response = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244) current_executor.run_until_future(call_result) /usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81) work_item.run() /usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40) result = self.fn(*self.args, **self.kwargs) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522) return func(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90) return callback(request, *args, **kwargs) /app/project/utils/decorators.py in apply_cache(58) response = cache.get(CACHE_KEY, None) |
Cachalot
Database 'default'
Application | Model | Last invalidation |
---|---|---|
django_q | Failure | 11 hours, 20 minutes |
django_q | Schedule | 11 hours, 20 minutes |
reporting | Report | 13 hours, 45 minutes |
lms_tales | CourseMetrics | 21 hours, 50 minutes |
search | FulltextSearchModel | 22 hours, 50 minutes |
lms_roles | CourseRole | 1 month, 3 weeks |
search | TrigramSearchModel | 1 month, 3 weeks |
startpage | SliderItem | 1 month, 3 weeks |
startpage | CategoryCourse | 1 month, 3 weeks |
tags | Category | 1 month, 3 weeks |
tags | Tag | 1 month, 3 weeks |
lms_static_texts | StaticText | 1 month, 3 weeks |
lms_static_texts | HistoricalStaticText | 1 month, 3 weeks |
lms_comments | Comment | 1 month, 3 weeks |
lms_comments | Reply | 1 month, 3 weeks |
lms_comments | Reaction | 1 month, 3 weeks |
lms_comments | Flag | 1 month, 3 weeks |
lms_tales | TalesStep | 1 month, 3 weeks |
lms_tales | TalesStepFileNew | 1 month, 3 weeks |
lms_tales | TalesStepFile | 1 month, 3 weeks |
lms_tales | TalesCourseFile | 1 month, 3 weeks |
lms_tales | TalesChapter | 1 month, 3 weeks |
lms_tales | TalesCourse | 1 month, 3 weeks |
lms_tales | TalesAuthor | 1 month, 3 weeks |
lms_tales | TalesPartner | 1 month, 3 weeks |
lms_tales | TalesGlossaryItem | 1 month, 3 weeks |
lms_tales | TalesPath | 1 month, 3 weeks |
lms_tales | TalesPathStep | 1 month, 3 weeks |
lms_tales | TalesCourseRun | 1 month, 3 weeks |
lms_tales | TalesCourseRunStep | 1 month, 3 weeks |
lms_tales | ScheduledMessage | 1 month, 3 weeks |
lms_tales | HistoricalTalesStep | 1 month, 3 weeks |
lms_tales | HistoricalTalesStepFile | 1 month, 3 weeks |
lms_tales | HistoricalTalesChapter | 1 month, 3 weeks |
lms_tales | HistoricalTalesCourse | 1 month, 3 weeks |
lms_tales | HistoricalTalesPath | 1 month, 3 weeks |
lms_base | GlossaryMixin | 1 month, 3 weeks |
lms_base | GlossaryItemMixin | 1 month, 3 weeks |
users | User | 1 month, 3 weeks |
users | UserSettings | 1 month, 3 weeks |
auth | Permission | 1 month, 3 weeks |
auth | Group | 1 month, 3 weeks |
contenttypes | ContentType | 1 month, 3 weeks |
sessions | Session | 1 month, 3 weeks |
sites | Site | 1 month, 3 weeks |
flatpages | FlatPage | 1 month, 3 weeks |
admin | LogEntry | 1 month, 3 weeks |
redirects | Redirect | 1 month, 3 weeks |
account | EmailAddress | 1 month, 3 weeks |
account | EmailConfirmation | 1 month, 3 weeks |
socialaccount | SocialApp | 1 month, 3 weeks |
socialaccount | SocialAccount | 1 month, 3 weeks |
socialaccount | SocialToken | 1 month, 3 weeks |
waffle | Flag | 1 month, 3 weeks |
waffle | Switch | 1 month, 3 weeks |
waffle | Sample | 1 month, 3 weeks |
tos | TermsOfService | 1 month, 3 weeks |
tos | UserAgreement | 1 month, 3 weeks |
impersonate | ImpersonationLog | 1 month, 3 weeks |
django_q | OrmQ | 1 month, 3 weeks |
notifications | Notification | 1 month, 3 weeks |
Signals
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, ImageField.update_dimension_fields, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init |
post_migrate | create_permissions, create_contenttypes, create_default_site, _invalidate_on_migration |
post_save | ModelSignalRouter.post_save_receiver, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, call_hook, create_user_settings, save_user_settings, update_search_index, update_search_index |
pre_delete | clear_site_cache |
pre_init | |
pre_migrate | inject_rename_contenttypes_operations |
pre_save | clear_site_cache |
request_finished | close_old_connections, close_caches, reset_urlconf |
request_started | reset_queries, close_old_connections |
setting_changed | reset_cache, reload_settings, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, update_level_tags, clear_caches, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties |