ECZEMAS AND DRUG HYPERSENSITIVITY
3.1
Case: the black henna tattoo
Welcome back! We are happy that you will join the third and last chapter of this course. In this chapter you will get to know two more types of allergic reactions: contact dermatitis and drug hypersensitivity. At the end of this chapter you will also have the chance to take a quiz to test what you have learned in the last chapters. Also, you will be given the possibility to give feedback on the course.
Did you ever get a henna tattoo or dye your hair? Hopefully you did not experience an allergic reaction afterwards. What can happen as a result of a contact allergy will now be explained.
A 12-year-old girl went on vacation at the seaside with her family. At the beach, a booth offered temporary ‘black henna tattoos’ with a variety of motifs such as flowers, cartoon figures, and ornamental designs. The girl strongly desired such a tattoo and her parents agreed; three days before returning she had a nice black ornament drawn on her upper arm.
The girl with the henna tattoo.
Ten days later, after returning home, a severe itch started at the tattoo site – the ornament started to get covered with redness, papules, vesicles, and oozing patches.
Allergic contact dermatitis to black henna was diagnosed by her paediatrician who started a treatment with strong topical corticosteroids. After three weeks, the black colour had disappeared. After another week, the allergic dermatitis had subsided, leaving a hypo-pigmented outline of the ornament.
Allergic contact dermatitis to black henna was diagnosed by her paediatrician who started a treatment with strong topical corticosteroids. After three weeks, the black colour had disappeared. After another week, the allergic dermatitis had subsided, leaving a hypo-pigmented outline of the ornament.
About four years later, at the age of 16, she intended to dye her hair for the first time. She bought black hair dye and applied it at home. The next day she woke up with a very itchy scalp, an oozing dermatitis of the head, and blistering along her front. Her eyelids were swollen and she could hardly see.
She consulted a dermatology clinic where an allergic contact dermatitis to hair dye, particularly para-phenylenediamine, was suspected and she was treated with oral prednisone. Later, patch tests revealed that she was sensitised to para-phenylenediamine and para-toluenediamine, which are both present in dark hair dyes. She received an allergy pass with the names and occurrences of these two substances.
In hair dyes para-phenylenediamine and para-toluenediamine are allowed in concentrations up to 1%, direct contact with skin should be avoided. In black henna tattoos its colour is illegally enhanced with para-phenylenediamine in concentrations up to 20%. This high concentration strongly binds to the skin and results in a very brilliant and black tattoo that lasts for several weeks. Unfortunately, at the same time, about 1 to 2% of the exposed get sensitised and a delayed-type hypersensitivity develops, presenting with an allergic contact dermatitis. If patients forget the previous incident and are re-exposed later, eg with a new henna tattoo or by hair dyes containing para-phenylenediamine, they again will suffer from a severe allergic contact dermatitis now within 1 to 2 days. Sensitization will persist life-long and may lead to occupational problems in hairdressers and cosmeticians.
Did you already experience skin reactions pointing towards contact dermatitis?
Lizenz
University of Basel
- Hide »
- Toggle Theme
-
History
-
Versions
Django 4.2.19 -
Time
CPU: 797.48ms (878.23ms) - Settings
- Headers
-
Request
apply_cache -
SQL
0 queries in 0.00ms -
Static files
0 files used -
Templates
step/step_home.html -
Cache
1 call in 1.06ms -
Cachalot
Last invalidation: 49 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 | 664.888 msec |
System CPU time | 132.589 msec |
Total CPU time | 797.477 msec |
Elapsed time | 878.230 msec |
Context switches | 6194 voluntary, 766 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 0x706cb92a1760>} |
DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'cachalot.panels.CachalotPanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel'] |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'contact-nmc@unibas.ch' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DEPLOY_ENV | 'staging' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize') |
DJANGO_NOTIFICATIONS_CONFIG | {'USE_JSONFIELD': True} |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.unibas.ch' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.TemplatesSetting' |
IGNORABLE_404_URLS | [] |
IMAGEKIT_CACHEFILE_DIR | 'CACHE/images' |
IMAGEKIT_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.hash' |
IMAGEKIT_CACHE_BACKEND | 'default' |
IMAGEKIT_CACHE_PREFIX | 'imagekit:' |
IMAGEKIT_CACHE_TIMEOUT | 300 |
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND | 'imagekit.cachefiles.backends.Simple' |
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY | 'imagekit.cachefiles.strategies.JustInTime' |
IMAGEKIT_DEFAULT_FILE_STORAGE | 'default' |
IMAGEKIT_SPEC_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.source_name_as_path' |
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY | '********************' |
INSTALLED_APPS | ('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django.contrib.sites',
'django.contrib.flatpages',
'modeltranslation',
'django.contrib.admin',
'django.contrib.redirects',
'django.contrib.sitemaps',
'django.contrib.humanize',
'simple_history',
'crispy_forms',
'crispy_bootstrap5',
'allauth',
'allauth.account',
'allauth.socialaccount',
'mozilla_django_oidc',
'django_extensions',
'markdownx',
'rules.apps.AutodiscoverRulesConfig',
'imagekit',
'waffle',
'django_htmx',
'cachalot',
'corsheaders',
'tos',
'tos_i18n',
'impersonate',
'rosetta',
'django_q',
'notifications',
'link_check',
'users.apps.UsersConfig',
'lms_base',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig',
'storages',
'debug_toolbar') |
INTERNAL_IPS | ['127.0.0.1'] |
LANGUAGES | (('de', 'German'), ('en', 'English'), ('fr', 'French')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'] |
LANGUAGE_CODE | 'de' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | ['/app/project/config/../locale'] |
LOCAL_APPS | ('users.apps.UsersConfig',
'lms_base',
'lms_tales.apps.LMSTalesConfig',
'lms_comments.apps.LMSCommentsConfig',
'lms_static_texts.apps.LMSStaticTextsConfig',
'tags.apps.TagsConfig',
'startpage.apps.StartpageConfig',
'search.apps.SearchConfig',
'utils.apps.UtilsConfig',
'dashboard.apps.DashboardConfig',
'reporting.apps.ReportingConfig',
'lms_notifications.apps.LMSNotificationsConfig',
'lms_roles.apps.LMSRolesConfig') |
LOGGING | {'disable_existing_loggers': False,
'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} '
'{message}',
'style': '{'}},
'handlers': {'console': {'class': 'logging.StreamHandler',
'formatter': 'verbose'},
'mail_admins': {'class': 'django.utils.log.AdminEmailHandler',
'include_html': True,
'level': 'ERROR'}},
'loggers': {'django': {'handlers': ['console', 'mail_admins'],
'level': 'WARNING',
'propagate': True},
'django.request': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'django.security': {'handlers': ['console', 'mail_admins'],
'level': 'ERROR',
'propagate': False},
'fontTools': {'handlers': ['console'], 'level': 'ERROR'},
'tales': {'handlers': ['console'], 'level': 'INFO'},
'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}},
'root': {'handlers': ['console'], 'level': 'WARNING'},
'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | 'account_login' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MARKDOWNX_EDITOR_RESIZABLE | True |
MARKDOWNX_IMAGE_MAX_SIZE | {'quality': 90, 'size': (1920, 5600)} |
MARKDOWNX_MARKDOWNIFY_FUNCTION | 'lms_base.utils.markdownify' |
MARKDOWNX_MARKDOWN_EXTENSIONS | ['markdown.extensions.extra',
'markdown.extensions.smarty',
'markdown.extensions.codehilite',
'markdown.extensions.fenced_code',
'markdown.extensions.attr_list',
'markdown.extensions.toc',
'utils.markdown_extensions',
'python_markdown_oembed_extension'] |
MARKDOWNX_MEDIA_PATH | 'markdownx/' |
MARKDOWNX_UPLOAD_URLS_PATH | '/markdownx/upload/' |
MARKDOWNX_URLS_PATH | '/markdownx/markdownify/' |
MEDIA_ROOT | '/app/project/media' |
MEDIA_URL | '/media/' |
MESSAGE_REAPPEAR_TIME | 600 |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'lms_tales.middleware.SetLocaleFoundInUserSettings',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'allauth.account.middleware.AccountMiddleware',
'impersonate.middleware.ImpersonateMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'simple_history.middleware.HistoryRequestMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
'waffle.middleware.WaffleMiddleware',
'django_htmx.middleware.HtmxMiddleware',
'lms_tales.middleware.TalesUserAgreementMiddleware',
'lms_tales.middleware.ScheduledMessagesMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware'] |
MIGRATION_MODULES | {'tos': 'lms_tales.migrate.tos'} |
MODELTRANSLATION_CUSTOM_FIELDS | ('JSONField',) |
MODELTRANSLATION_DEFAULT_LANGUAGE | 'de' |
MODELTRANSLATION_FALLBACK_LANGUAGES | ('de', 'en', 'fr') |
MONTH_DAY_FORMAT | 'F j' |
NOTIFICATIONS_NOTIFICATION_MODEL | 'notifications.Notification' |
NUMBER_GROUPING | 0 |
OIDC_OP_AUTHORIZATION_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/authorize' |
OIDC_OP_JWKS_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/keyset' |
OIDC_OP_TOKEN_ENDPOINT | '********************' |
OIDC_OP_USER_ENDPOINT | 'https://login.test.eduid.ch/idp/profile/oidc/userinfo' |
OIDC_RP_CLIENT_ID | 'unibas-tales' |
OIDC_RP_CLIENT_SECRET | '********************' |
OIDC_RP_SCOPES | 'openid email profile https://login.eduid.ch/authz/User.Read' |
OIDC_RP_SIGN_ALGO | 'RS256' |
OIDC_TOKEN_USE_BASIC_AUTH | '********************' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | False |
PROJECT_DIR | '/app/project/config/../' |
Q_CLUSTER | {'catch_up': False,
'django_redis': 'default',
'name': 'QCluster',
'retry': 600,
'timeout': 500,
'workers': 4} |
RELEASE_NAME | '' |
REQUIRE_SUPERUSER | True |
ROOT_URLCONF | 'config.urls' |
ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE | 'de' |
ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME | 'Deutsch' |
ROSETTA_SHOW_AT_ADMIN_PANEL | 'True' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | None |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.cache' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'config.settings.staging' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_DOMAIN | 'https://nmc-tales-staging.nmc.unibas.ch/' |
SITE_ID | 1 |
SLACK_WEBHOOK | 'https://hooks.slack.com/services/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' |
STAGING_EMAIL_RECIPIENTS | ['notifications-nmc@unibas.ch'] |
STATICFILES_DIRS | ['/app/project/config/../static'] |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/app/project/config/../../staticfiles' |
STATIC_URL | '/static/' |
STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
TALES_BASE_URL | 'https://tales.nmc.unibas.ch' |
TALES_VERSION | 'dev' |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/app/project/config/../templates',
'/usr/local/lib/python3.11/site-packages/django/forms/templates'],
'OPTIONS': {'builtins': ['django.templatetags.i18n',
'django.templatetags.static'],
'context_processors': ['django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'utils.context_processors.ci_info'],
'debug': False,
'loaders': ['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THIRD_PARTY_APPS | ('debug_toolbar',) |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Europe/Zurich' |
USER_DEACTIVATION_AFTER_DAYS | 730 |
USER_DELETION_AFTER_DAYS | 912 |
USE_DEPRECATED_PYTZ | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | True |
USE_X_FORWARDED_PORT | False |
VIEW_CACHE_TTL | 600 |
WAFFLE_LOG_MISSING_FLAGS | 30 |
WAFFLE_LOG_MISSING_SAMPLES | 30 |
WAFFLE_LOG_MISSING_SWITCHES | 30 |
WSGI_APPLICATION | 'config.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
Headers
Request headers
Key | Value |
---|---|
Accept | */* |
Accept-Encoding | gzip, br, zstd, deflate |
Cookie | => see Request panel |
Host | nmc-tales-staging.nmc.unibas.ch |
User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
X-Forwarded-For | 3.145.166.247 |
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/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226 |
QUERY_STRING | |
REMOTE_ADDR | 3.145.166.247 |
REMOTE_HOST | 3.145.166.247 |
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 |
() |
{'chapter_pk': 220,
'chapter_slug': 'eczemas-and-drug-hypersensitivity',
'course_pk': 41,
'course_slug': 'allergies-when-the-immune-system-backfires',
'pk': 1226,
'slug': 'case-the-black-henna-tattoo'} |
tales:step |
Cookies
Variable | Value |
---|---|
'csrftoken' |
'wXtCZQcaCq2SpbnsbJnnCgDrZKpAfGr9' |
No session data
No GET data
No POST data
SQL queries from 0 connections
No SQL queries were recorded during this request.
Static files (273 found, 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 (13 rendered)
Template paths
- /app/project/templates
- /usr/local/lib/python3.11/site-packages/django/forms/templates
Templates
- 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': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>}
- 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: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>}
- 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: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>}
- 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': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'Ori2J8Zjj6peXDppdAjmPe6p3QWphVkQaeBuyO1jLmhWcECHe9wzhkzGSqbPmrBP'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/haut-und-anhangsorgane-anatomische-mikroskopie-49/achselhohle-304'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c9559ea90>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c9559ea90>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Achselhöhle>, 'talesstep': <TalesStep: Achselhöhle>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c950c5850>} {'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 0x706c942c2050>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94cf9390>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
- step/step_home.html
- /app/project/lms_tales/templates/step/step_home.html
-
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: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>}
- 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: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>}
- 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: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>}
- 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: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>} {'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: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c8fac9510>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c94958550>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c94958790>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8f543910>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
- components/header.html
- /app/project/templates/components/header.html
-
Toggle context
{'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '0809bd77', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>} {'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: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x706c956bc350>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c9594c2d0>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x706c8f6548d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8f657a90>, <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': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c94c3a950>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': True, 'available_languages': [('en', 'English')], 'course': <TalesCourse: Allergies: When the Immune System Backfires>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Case: the black henna tattoo>, 'talesstep': <TalesStep: Case: the black henna tattoo>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f59e890>} {'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 0x706c8f85cc50>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c9594f350>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}
- step/step-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': 'en', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'T4rKMWW5zsd1gmsKIcXCYC2n1B21SV8MfRKcBCY51I5JvnF2JLaPqIvEQbhrXrpL'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/en/histologie-12/verdauungsorgane-mundhohle-anatomische-mikroskopie-54/gl-submandibularis-2-1-350'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c8fee8bd0>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x706c8fee8bd0>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('de', 'German')], 'course': <TalesCourse: Histologie>, 'course_contact': 'Prof. Dr. Udo M. Spornitz\r\n' '\r\n' 'Email: [udo.spornitz@unibas.ch](mailto: ' 'udo.spornitz@unibas.ch)\r\n' '\r\n' 'Feedback zu diesem Kurs, den Präparaten, den ' 'Informationsblättern etc. wird gerne vom Autor dieses ' 'Projekts Prof. Dr. Udo M. Spornitz, per Mail ' 'entgegengenommen.\r\n' '\r\n' 'BITTE KEINE FRAGEN ALLGEMEINER NATUR, d.h. keine ' 'Verständnisfragen zur allgemeinen und mikroskopischen ' 'Anatomie. Wenden Sie sich für diese Fragen bitte an die ' 'für Sie zuständigen Dozierenden oder konsultieren Sie die ' 'entsprechenden Bücher der Histologie, Embryologie und ' 'Anatomie. Dieses Projekt kann die Lektüre eines ' 'Histologiebuches nicht ersetzen, ebenso wenig wie den ' 'Besuch der relevanten Vorlesungen zu den einzelnen Themen.', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'is_editor': False, 'object': <TalesStep: Gl. submandibularis 2>, 'talesstep': <TalesStep: Gl. submandibularis 2>, 'view': <lms_tales.views.step_views.StepDetails object at 0x706c8f03af10>} {'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 0x706c8f657ed0>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x706c8f654110>, <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: 'A4nId4V7MgVneaF7pRcmyf8baAmJ6JmwWRGa2KX7ewN5tbSpqqpz0lBsZaB9bfDv'>}
- django.template.context_processors.debug
-
Toggle context
{}
- django.template.context_processors.request
-
Toggle context
{'request': <ASGIRequest: GET '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>}
- django.contrib.auth.context_processors.auth
-
Toggle context
{'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x706c94c3a950>>>)}
- django.template.context_processors.i18n
-
Toggle context
{'LANGUAGES': (('de', 'German'), ('en', 'English'), ('fr', 'French')), 'LANGUAGE_CODE': 'en', '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 '/en/allergies-when-the-immune-system-backfires-41/eczemas-and-drug-hypersensitivity-220/case-the-black-henna-tattoo-1226'>>, '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 | 1.0599959641695023 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 | |
---|---|---|---|---|---|
1.0600 | 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 0x706cb8b22990> | |
/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 | 49 minutes |
lms_tales | CourseMetrics | 49 minutes |
django_q | Schedule | 49 minutes |
search | FulltextSearchModel | 1 hour, 49 minutes |
reporting | Report | 16 hours, 44 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 |