Sustainability tomorrow
Identifying challenges, analysing approaches and assessing future strategies
Updated January 2025How can you assess the sustainability of your country’s energy system? Which concept of sustainability is helpful for which priority? What aspects of the socio-ecological context have to be considered beforehand? This course proposes a way to answer these questions.
The global need for sustainable solutions is growing enormously. Also, the development of solutions is more urgent than ever for most people.
Address solutions by getting a grasp on sustainability
The professors who developed this online course have been teaching sustainable development to students from all over the world for 15 years. Their teaching was part of an on-site master’s programme. They themselves have learnt a lot through intensive interaction with young people.
Learn with the case study of Switzerland
The educators believe it is time to share their knowledge and understanding of sustainability with students around the world. They look forward to sharing their experiences with you, and with anyone interested in an understandable introduction to sustainability. They invite you to explore important concepts of sustainability and learn about tools that can be used to assess whether a concept or approach is indeed sustainable. This is illustrated by the example of the well-studied energy transition in Switzerland.
The learning outcomes for this course include:
- Exploring different concepts used for assessing sustainability
- Assessing sustainability using the case of the Swiss energy transition
- Identifying socio-ecological factors that need to be considered in assessing sustainability
Autor:innen
Partners
- Hide »
- Toggle Theme
-
History
-
Versions
Django 4.2.19 -
Time
CPU: 1120.72ms (1203.31ms) - Settings
- Headers
-
Request
apply_cache -
SQL
1 query in 28.56ms -
Static files
0 files used -
Templates
step/step-title.html -
Cache
1 call in 9.14ms -
Cachalot
Last invalidation: 11 hours, 30 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 | 915.174 msec |
System CPU time | 205.546 msec |
Total CPU time | 1120.720 msec |
Elapsed time | 1203.310 msec |
Context switches | 8258 voluntary, 912 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 |
Host | nmc-tales-staging.nmc.unibas.ch |
Referer | https://nmc-tales-staging.nmc.unibas.ch/en/sustainability-tomorrow-48 |
User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
X-Forwarded-For | 3.147.71.116 |
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/sustainability-tomorrow-48/ |
QUERY_STRING | |
REMOTE_ADDR | 3.147.71.116 |
REMOTE_HOST | 3.147.71.116 |
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': 48, 'slug': 'sustainability-tomorrow'} |
tales:course |
No cookies
No session data
No GET data
No POST data
SQL queries from 1 connection
- default 28.56 ms (1 query )
Query | Timeline | Time (ms) | Action | ||
---|---|---|---|---|---|
SELECT "waffle_flag"."id",
"waffle_flag"."name", "waffle_flag"."everyone", "waffle_flag"."percent", "waffle_flag"."testing", "waffle_flag"."superusers", "waffle_flag"."staff", "waffle_flag"."authenticated", "waffle_flag"."languages", "waffle_flag"."rollout", "waffle_flag"."note", "waffle_flag"."created", "waffle_flag"."modified" FROM "waffle_flag" WHERE "waffle_flag"."name" = 'path_is_active' LIMIT 21SELECT ••• FROM "waffle_flag" WHERE "waffle_flag"."name" = 'path_is_active' LIMIT 21 |
28.56 | ||||
Connection: default Transaction status: Idle /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101) return _run_old_run_func() /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94) return old_run_func(self, *a, **kw) /usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83) work_item.run() /usr/local/lib/python3.11/concurrent/futures/thread.py in run(58) result = self.fn(*self.args, **self.kwargs) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522) return func(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56) result = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in middleware(32) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36) response = get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41) return get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43) return self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /app/project/lms_tales/middleware.py in __call__(168) response = self.get_response(request) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177) return f(*args, **kwargs) /usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41) return super(CachalotPanel, self).process_request(request) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244) current_executor.run_until_future(call_result) /usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81) work_item.run() /usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40) result = self.fn(*self.args, **self.kwargs) /usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522) return func(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90) return callback(request, *args, **kwargs) /app/project/utils/decorators.py in apply_cache(72) cache.set(CACHE_KEY, response.render(), ttl) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41) return old_render(self) /usr/local/lib/python3.11/site-packages/django/template/response.py in render(114) self.content = self.rendered_content /usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788) return sentry_patched_function(*args, **kwargs) /usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77) return real_rendered_content.fget(self) /usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92) return template.render(context, self._request) /usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61) return self.template.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(175) return self._render(context) /usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112) return self.nodelist.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966) return self.render(context) /usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157) return compiled_parent._render(context) /usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112) return self.nodelist.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966) return self.render(context) /usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157) return compiled_parent._render(context) /usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112) return self.nodelist.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966) return self.render(context) /usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63) result = block.nodelist.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966) return self.render(context) /usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63) result = block.nodelist.render(context) /usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005) return SafeString("".join([node.render_annotated(context) for node in self])) /usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966) return self.render(context) /usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36) if self.condition(context.get('request', None), name): /usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19) flag = get_waffle_flag_model().get(flag_name) /usr/local/lib/python3.11/site-packages/waffle/models.py in get(59) obj = cls.get_from_db(name) /usr/local/lib/python3.11/site-packages/waffle/models.py in get_from_db(72) return objects.get(name=name) /usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37) return original(compiler, *args, **kwargs) /usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(94) return execute_query_func() /usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80) execute_query_func = lambda: original(compiler, *args, **kwargs) |
Static files (273 found, 0 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
None
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 (30 rendered)
Template paths
- /app/project/templates
- /usr/local/lib/python3.11/site-packages/django/forms/templates
Templates
- 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: ' "'GKQulf94ctbK9MKP6qCvJ1BqHDJoM0Ydu5vAIzJCq8TJ9WavtF8OC45vpU4fkOrG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/psychotherapie-ethik-37/freiwilligkeit-und-zwang-209/formen-von-zwangsmassnahmen-und-ihre-rechtliche-legitimation-1086'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c959da650>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c959da650>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Psychotherapie-Ethik>, 'course_contact': 'PD Dr. med. Dr. phil. Manuel Trachsel \r\n' 'Leiter Klinische Ethik \r\n' 'Universitätsspital Basel \r\n' 'Ärztliche Direktion \r\n' 'Spitalstrasse 22 \r\n' 'CH - 4031 Basel', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Formen von Zwangsmassnahmen und ihre rechtliche Legitimation>, 'talesstep': <TalesStep: Formen von Zwangsmassnahmen und ihre rechtliche Legitimation>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c95fb1d10>} {'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 0x706c8dd3fa50>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c95b1f350>, <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'>]>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c8fa0d110>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94214890>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8fa0c0d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fa0fbd0>, <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'>]>}
- 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/peruanische-harfe-56'}", 'request': '<<request>>', 'request_path': 'en/peruanische-harfe-56', '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/'>]]}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'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 0x706c8fa0e210>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8d52fdd0>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"course-title.html"'>>, <TextNode: '\n'>]>}
- htmx/course-author-list.html
- /app/project/lms_tales/templates/htmx/course-author-list.html
-
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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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>>'}
- 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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>}
- 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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>}
- 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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'forloop': {'counter': 5, 'counter0': 4, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: **Prof. em. Paul Burger** (co-developer and educator) <br> Sustainability Research Group, Department of Social Sciences, University of Basel>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Paul_Burger_1000x1000px/597688b37ef6e5c5d878d85d744f2fe3.jpg>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'forloop': {'counter': 5, 'counter0': 4, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: **Prof. Ulf Hahnel** (contributor) <br> Professor for Psychology of Sustainability and Behavior Change, Faculty of Psychology, University of Basel>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Ulf_Hahnel_1000x1000px/6455ae0898b87961b7e03d948150a063.jpg>}
- 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: ' "'TDh5B24tmceoZ6NWlsl1X7ajtexyMhFKljelaMkb1B4Sc7x432cx8hCoF8AdF0N4'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/entrepreneurship-in-nonprofits-10/social-entrepreneurship-27/skills-for-social-entrepreneurs-105'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9468a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9468a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Entrepreneurship in Nonprofits>, 'course_contact': 'Prof. Dr. Georg von Schnurbein \r\n' 'Center for Philanthropy Studies (CEPS) \r\n' 'University of Basel \r\n' 'Steinengraben 22 \r\n' '4051 Basel \r\n' '\r\n' 'Phone: [+41 (0)61 207 34 63](tel:+41612073463) \r\n' 'Email: ' '[georg.vonschnurbein@unibas.ch](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Skills for social entrepreneurs>, 'talesstep': <TalesStep: Skills for social entrepreneurs>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d77b390>}
- 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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
- 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: ' "'TDh5B24tmceoZ6NWlsl1X7ajtexyMhFKljelaMkb1B4Sc7x432cx8hCoF8AdF0N4'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/entrepreneurship-in-nonprofits-10/social-entrepreneurship-27/skills-for-social-entrepreneurs-105'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9468a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9468a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Entrepreneurship in Nonprofits>, 'course_contact': 'Prof. Dr. Georg von Schnurbein \r\n' 'Center for Philanthropy Studies (CEPS) \r\n' 'University of Basel \r\n' 'Steinengraben 22 \r\n' '4051 Basel \r\n' '\r\n' 'Phone: [+41 (0)61 207 34 63](tel:+41612073463) \r\n' 'Email: ' '[georg.vonschnurbein@unibas.ch](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Skills for social entrepreneurs>, 'talesstep': <TalesStep: Skills for social entrepreneurs>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d77b390>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'forloop': {'counter': 5, 'counter0': 4, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: **Prof. Dr. Patricia Holm** (co-developer and educator) <br> Professor of Ecology, Head of the Man-Society-Environment program, Department of Environmental Sciences, University of Basel>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Patricia_Holm_1000x1000px/786f517fff7fc9c46384056ce57732b8.jpg>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'forloop': {'counter': 5, 'counter0': 4, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: **Prof. Frank Krysiak** (co-developer and educator) <br> Professor for Environmental Economics, Faculty of Business and Economics, University of Basel; Head of the Competence Center for Research in Energy, Society and Transition (SCCER CREST)>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Frank_Krysiak_1000x1000px/8b0b0f99ca89d10fc8d660e69b08d0a7.jpg>}
- 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: ' "'TDh5B24tmceoZ6NWlsl1X7ajtexyMhFKljelaMkb1B4Sc7x432cx8hCoF8AdF0N4'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/entrepreneurship-in-nonprofits-10/social-entrepreneurship-27/skills-for-social-entrepreneurs-105'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9468a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9468a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Entrepreneurship in Nonprofits>, 'course_contact': 'Prof. Dr. Georg von Schnurbein \r\n' 'Center for Philanthropy Studies (CEPS) \r\n' 'University of Basel \r\n' 'Steinengraben 22 \r\n' '4051 Basel \r\n' '\r\n' 'Phone: [+41 (0)61 207 34 63](tel:+41612073463) \r\n' 'Email: ' '[georg.vonschnurbein@unibas.ch](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Skills for social entrepreneurs>, 'talesstep': <TalesStep: Skills for social entrepreneurs>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d77b390>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'forloop': {'counter': 5, 'counter0': 4, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}} {'object': <TalesAuthor: **Dr. Annika Sohre** (contributor) <br> Management and Head of Knowledge Transfer Research Network Sustainable Future WWZ, University of Basel; Senior Researcher, Sustainability Research Group Department of Social Sciences, University of Basel>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Annika_Sohre_1000x1000px_3kvSwmh/ec6800205b2954e1c5cccad24b87e9cd.jpg>}
- 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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c8d779e50>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8fbb1010>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8fbb3c10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8d77bb10>, <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'>]>}
- 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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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: ' "'z229XRbgse3n4ViSwftuHA2KMk7kXuWTKgAa8uhtzl9YOIcL2wP1I6P3MkiBJvES'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/sustainability-tomorrow-48/'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c95d89590>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c95d89590>>>'} {'active_courseruns': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Sustainability tomorrow>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesCourseFile>>', 'first_step': <TalesStep: Sustainability is a broad field>, 'is_editor': False, 'object': <TalesCourse: Sustainability tomorrow>, 'talescourse': <TalesCourse: Sustainability tomorrow>, 'view': <lms_tales.views.course_views.CourseDetails object at 0x706c94655c50>} {'block': <Block Node: main-content. Contents: [<TextNode: '\n <main id="main-conte'>, <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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 0x706c8df78590>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b210>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8df7b2d0>, <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': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'partner': <TalesPartner: Partner>} {'object': <TalesPartner: Partner>, 'thumb': <ImageCacheFile: CACHE/images/sustainability-tomorrow/Tales_Logo_UniBasel/858a93b4d4ad34d62dc20670cab6f470.jpg>}
- 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: ' "'eDXvwiyYGfvoyJV24zliKklHc51JQ4zM5bb9du1KQzBo43zZWbjyVD4uxZQATl0y'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/einfach-lesen-auswahl-und-einsatz-von-schrift-und-typografie-256/gestaltungstipps-zur-auswahl-und-kombination-von-schriften-1544'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9425a3d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9425a3d0>>>'} {'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: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'talesstep': <TalesStep: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8ffb2550>}
- 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: ' "'eDXvwiyYGfvoyJV24zliKklHc51JQ4zM5bb9du1KQzBo43zZWbjyVD4uxZQATl0y'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/einfach-lesen-auswahl-und-einsatz-von-schrift-und-typografie-256/gestaltungstipps-zur-auswahl-und-kombination-von-schriften-1544'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9425a3d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9425a3d0>>>'} {'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: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'talesstep': <TalesStep: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8ffb2550>}
- 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: ' "'TDh5B24tmceoZ6NWlsl1X7ajtexyMhFKljelaMkb1B4Sc7x432cx8hCoF8AdF0N4'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/entrepreneurship-in-nonprofits-10/social-entrepreneurship-27/skills-for-social-entrepreneurs-105'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9468a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9468a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Entrepreneurship in Nonprofits>, 'course_contact': 'Prof. Dr. Georg von Schnurbein \r\n' 'Center for Philanthropy Studies (CEPS) \r\n' 'University of Basel \r\n' 'Steinengraben 22 \r\n' '4051 Basel \r\n' '\r\n' 'Phone: [+41 (0)61 207 34 63](tel:+41612073463) \r\n' 'Email: ' '[georg.vonschnurbein@unibas.ch](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Skills for social entrepreneurs>, 'talesstep': <TalesStep: Skills for social entrepreneurs>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d77b390>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
- 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: ' "'eDXvwiyYGfvoyJV24zliKklHc51JQ4zM5bb9du1KQzBo43zZWbjyVD4uxZQATl0y'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/einfach-lesen-auswahl-und-einsatz-von-schrift-und-typografie-256/gestaltungstipps-zur-auswahl-und-kombination-von-schriften-1544'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9425a3d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9425a3d0>>>'} {'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: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'talesstep': <TalesStep: Gestaltungstipps zur Auswahl und Kombination von Schriften>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8ffb2550>}
- 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: ' "'TDh5B24tmceoZ6NWlsl1X7ajtexyMhFKljelaMkb1B4Sc7x432cx8hCoF8AdF0N4'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/entrepreneurship-in-nonprofits-10/social-entrepreneurship-27/skills-for-social-entrepreneurs-105'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9468a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9468a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Entrepreneurship in Nonprofits>, 'course_contact': 'Prof. Dr. Georg von Schnurbein \r\n' 'Center for Philanthropy Studies (CEPS) \r\n' 'University of Basel \r\n' 'Steinengraben 22 \r\n' '4051 Basel \r\n' '\r\n' 'Phone: [+41 (0)61 207 34 63](tel:+41612073463) \r\n' 'Email: ' '[georg.vonschnurbein@unibas.ch](mailto:georg.vonschnurbein@unibas.ch)', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Skills for social entrepreneurs>, 'talesstep': <TalesStep: Skills for social entrepreneurs>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8d77b390>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c8fb79b50>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8f992310>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8f992e10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c9498bb10>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
- step/step-title.html
- /app/project/lms_tales/templates/step/step-title.html
-
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: ' "'tKhWhDrsHhzScVt3qRdZNNYhE9T4DZlZVDA7du64P9sIqSHlYvCSrOQ9hBNEWpuP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/wissen-sichtbar-machen-lernen-erleichtern-52/lieber-leise-als-bunt-und-laut-259/farben-aufraumen-1613'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9458f1d0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9458f1d0>>>'} {'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: Farben aufräumen>, 'talesstep': <TalesStep: Farben aufräumen>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c948466d0>} {'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 0x706c8d85d990>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8d85c9d0>, <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'>]>}
Context processors
- django.template.context_processors.csrf
-
Toggle context
{'csrf_token': <SimpleLazyObject: 'GKQulf94ctbK9MKP6qCvJ1BqHDJoM0Ydu5vAIzJCq8TJ9WavtF8OC45vpU4fkOrG'>}
- django.template.context_processors.debug
-
Toggle context
{}
- django.template.context_processors.request
-
Toggle context
{'request': <ASGIRequest: GET '/de/psychotherapie-ethik-37/freiwilligkeit-und-zwang-209/formen-von-zwangsmassnahmen-und-ihre-rechtliche-legitimation-1086'>}
- django.contrib.auth.context_processors.auth
-
Toggle context
{'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c959da650>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c959da650>>>)}
- django.template.context_processors.i18n
-
Toggle context
{'LANGUAGES': (('de', 'German'), ('en', 'English'), ('fr', 'French')), 'LANGUAGE_CODE': 'de', 'LANGUAGE_BIDI': False}
- django.template.context_processors.media
-
Toggle context
{'MEDIA_URL': '/media/'}
- django.template.context_processors.static
-
Toggle context
{'STATIC_URL': '/static/'}
- django.template.context_processors.tz
-
Toggle context
{'TIME_ZONE': 'Europe/Zurich'}
- django.contrib.messages.context_processors.messages
-
Toggle context
{'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/psychotherapie-ethik-37/freiwilligkeit-und-zwang-209/formen-von-zwangsmassnahmen-und-ihre-rechtliche-legitimation-1086'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
- utils.context_processors.ci_info
-
Toggle context
{'CI_COMMIT_TAG': '', 'CI_COMMIT_SHORT_SHA': '0809bd77', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}
Cache calls from 1 backend
Summary
Total calls | Total time | Cache hits | Cache misses |
---|---|---|---|
1 | 9.14391316473484 ms | 61 | 0 |
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 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Calls
Time (ms) | Type | Arguments | Keyword arguments | Backend | |
---|---|---|---|---|---|
9.1439 | 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( |
Cachalot
Database 'default'
Application | Model | Last invalidation |
---|---|---|
django_q | Failure | 11 hours, 30 minutes |
django_q | Schedule | 11 hours, 30 minutes |
reporting | Report | 13 hours, 55 minutes |
lms_tales | CourseMetrics | 21 hours, 59 minutes |
search | FulltextSearchModel | 22 hours, 59 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 |