Weboberfläche wird nicht geladen (1.2.0-preview)

  • Upgrade RC18->1.2.0-preview
  • Container starten

Beim Aufruf der POLARIS-GUI erhalte ich folgende Fehlermeldung:

TemplateDoesNotExist at /app/de/ de/index.html Request Method: GET Request URL: http://10.211.55.16:8004/app/de/ Django Version: 5.2.9 Exception Type: TemplateDoesNotExist Exception Value: de/index.html Exception Location: /usr/local/lib/python3.13/site-packages/django/template/loader.py, line 19, in get_template Raised during: backend.urls.render_angular_de Python Executable: /usr/local/bin/python3.13 Python Version: 3.13.12 Python Path: ['/usr/src/app', '/usr/src/app', '/usr/local/bin', '/usr/local/lib/python313.zip', '/usr/local/lib/python3.13', '/usr/local/lib/python3.13/lib-dynload', '/usr/local/lib/python3.13/site-packages'] Server time: Fri, 27 Feb 2026 10:23:20 +0000 Template-loader postmortem Django tried loading these templates, in this order:

Using engine django:

django.template.loaders.filesystem.Loader: /usr/src/app/email_templates/de/index.html (Source does not exist) django.template.loaders.filesystem.Loader: /usr/src/app/frontend/dist/frontend/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/local/lib/python3.13/site-packages/django/contrib/admin/templates/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/local/lib/python3.13/site-packages/django/contrib/auth/templates/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/local/lib/python3.13/site-packages/rest_framework/templates/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/local/lib/python3.13/site-packages/django_celery_beat/templates/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/local/lib/python3.13/site-packages/drf_yasg/templates/de/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /usr/src/app/ssoauth/templates/de/index.html (Source does not exist) Traceback Switch to copy-and-paste view /usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py, line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ … Local vars /usr/local/lib/python3.13/site-packages/django/core/handlers/base.py, line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … Local vars /usr/src/app/backend/urls.py, line 34, in render_angular_de return render(request, "de/index.html") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … Local vars /usr/local/lib/python3.13/site-packages/django/shortcuts.py, line 25, in render content = loader.render_to_string(template_name, context, request, using=using) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … Local vars /usr/local/lib/python3.13/site-packages/django/template/loader.py, line 61, in render_to_string template = get_template(template_name, using=using) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … Local vars /usr/local/lib/python3.13/site-packages/django/template/loader.py, line 19, in get_template raise TemplateDoesNotExist(template_name, chain=chain) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … Local vars Request information USER AnonymousUser

GET No GET data

POST No POST data

FILES No FILES data

COOKIES No cookie data

META Variable Value HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_ACCEPT_LANGUAGE 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' HTTP_CONNECTION 'keep-alive' HTTP_HOST '10.211.55.16:8004' HTTP_UPGRADE_INSECURE_REQUESTS '1' HTTP_USER_AGENT ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, ' 'like Gecko) Chrome/145.0.0.0 Safari/537.36') PATH_INFO '/app/de/' QUERY_STRING '' RAW_URI '/app/de/' REMOTE_ADDR '10.211.55.2' REMOTE_PORT '63174' REQUEST_METHOD 'GET' SCRIPT_NAME '' SERVER_NAME '0.0.0.0' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SOFTWARE 'gunicorn/23.0.0' gunicorn.socket <socket.socket fd=10, family=2, type=1, proto=0, laddr=('172.18.0.7', 80), raddr=('10.211.55.2', 63174)> wsgi.errors <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0xffff9cc9de10> wsgi.file_wrapper <class 'gunicorn.http.wsgi.FileWrapper'> wsgi.input <gunicorn.http.body.Body object at 0xffff9c9f0e10> wsgi.input_terminated True wsgi.multiprocess True wsgi.multithread False wsgi.run_once False wsgi.url_scheme 'http' wsgi.version (1, 0) Settings Using settings module backend.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS [] ALLOWED_HOSTS ['*'] ALLOW_ROBOTS False ANALYTICS_RESULTS_RETENTION 31 ANONYMIZATION_DEFAULT_MINIMUM_COUNT 10 ANONYMIZATION_HASH_PREFIX 'anon' APPEND_SLASH True ATTRIBUTE_ACCOUNT_UUID None ATTRIBUTE_DISPLAY_NAME 'urn:oid:2.16.840.1.113730.3.1.241' ATTRIBUTE_EMAIL 'urn:oid:0.9.2342.19200300.100.1.3' ATTRIBUTE_FORENAME 'urn:oid:2.16.840.1.113730.3.1.241' ATTRIBUTE_PAIRWISE_ID 'urn:oasis:names:tc:SAML:attribute:pairwise-id' ATTRIBUTE_SURNAME 'urn:oid:2.16.840.1.113730.3.1.241' ATTRIBUTE_USERNAME 'urn:oid:0.9.2342.19200300.100.1.1' AUTHENTICATION_BACKENDS '' AUTH_PASSWORD_VALIDATORS '' AUTH_USER_MODEL '' BASE_DIR PosixPath('/usr/src/app') CACHES {'default': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/tmp/django_cache'}} CACHE_MIDDLEWARE_ALIAS 'default' CACHE_MIDDLEWARE_KEY_PREFIX '' CACHE_MIDDLEWARE_SECONDS 600 CELERY_ACCEPT_CONTENT ['json'] CELERY_BROKER_URL 'redis://:CHANGE_ME_REDIS@redis:6379/0' CELERY_RESULT_BACKEND 'redis://:CHANGE_ME_REDIS@redis:6379/0' CELERY_TASK_ALWAYS_EAGER False CELERY_TASK_EAGER_PROPAGATES False CELERY_TASK_SERIALIZER 'json' CELERY_TIMEZONE 'UTC' CORS_ALLOW_HEADERS ['accept', 'accept-encoding', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'x-experience-api-version', 'if-match', 'if-none-match', 'authorization'] CORS_ORIGIN_ALLOW_ALL True CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME 'csrftoken' CSRF_COOKIE_PATH '/' CSRF_COOKIE_SAMESITE 'Lax' 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.mysql', 'HOST': 'database', 'NAME': 'polaris', 'OPTIONS': {}, 'PASSWORD': '', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'root'}} DATABASE_ROUTERS [] DATA_DISCLOSURE_EXPIRATION '30' DATA_DISCLOSURE_LOCATION '/usr/src/app/backend/data_disclosure_zips' 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 DECIMAL_SEPARATOR '.' DEFAULT_AUTO_FIELD 'django.db.models.BigAutoField' DEFAULT_CHARSET 'utf-8' DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter' DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FROM_EMAIL 'webmaster@localhost' DEFAULT_INDEX_TABLESPACE '' DEFAULT_PAGE_SIZE 50 DEFAULT_TABLESPACE '' DISABLE_XAPI_CONSENT '' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST '' EMAIL_HOST_EMAIL '' EMAIL_HOST_PASSWORD '' EMAIL_HOST_USER '' EMAIL_PORT '' 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 True FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS 420 FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORMS_URLFIELD_ASSUME_HTTPS False FORM_RENDERER 'django.forms.renderers.DjangoTemplates' IDP_ENABLED 'false' IDP_LOGOUT_URL 'https://your-idp-server.here/idp/profile/Logout' IDP_META_URL 'https://your-idp-server.here/idp/shibboleth' IDP_RESOLVER_CACHE True IDP_RESOLVER_CACHE_MAX_AGE 1440 IDP_RESOLVER_ENABLED False IDP_RESOLVER_PREFIX 'shib-connector:' IDP_RESOLVER_URL '' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'corsheaders', 'rest_framework', 'rolepermissions', 'django_celery_results', 'django_celery_beat', 'backend', 'xapi.apps.XapiConfig', 'users.apps.UsersConfig', 'consents.apps.ConsentsConfig', 'providers.apps.ProvidersConfig', 'data_disclosure.apps.DataDisclosureConfig', 'data_removal.apps.DataRemovalConfig', 'settings.apps.SettingsConfig', 'polaris_statistics.apps.StatisticsConfig', 'drf_yasg', 'ssoauth'] INTERNAL_IPS [] LANGUAGES [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('ckb', 'Central Kurdish (Sorani)'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('ms', 'Malay'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('ug', 'Uyghur'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur'] LANGUAGE_CODE 'en-us' 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 LDAP_ENABLED False LDAP_LOGOUT_REDIRECT_URL '/ldap-login' LOCALE_PATHS [] LOGGING {} LOGGING_CONFIG 'logging.config.dictConfig' LOGIN_REDIRECT_URL '/accounts/profile/' LOGIN_URL '/accounts/login/' LOGOUT_REDIRECT_URL None LRS_CONNECTION_STRING 'mongodb://root:CHANGE_ME_MONGO@mongodb_container:27017' LRS_MONGO_DB_NAME 'lrs' LRS_MONGO_REPLICA_SET None LRS_MONGO_TLS False LRS_MONGO_TLS_ALLOW_INVALID_HOSTNAMES False LRS_MONGO_TLS_CA_FILE None MANAGERS [] MEDIA_ROOT '' MEDIA_URL '/' MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE ['django_prometheus.middleware.PrometheusBeforeMiddleware', 'django.middleware.security.SecurityMiddleware', 'backend.middleware.MetricsAuthMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django_prometheus.middleware.PrometheusAfterMiddleware'] MIGRATION_MODULES {} MONTH_DAY_FORMAT 'F j' NUMBER_GROUPING 0 PASSWORD_HASHERS '' PASSWORD_RESET_TIMEOUT '' PREPEND_WWW False PROMETHEUS_METRICS_AUTH_PASSWORD '' PROMETHEUS_METRICS_AUTH_USERNAME '' PROMETHEUS_METRIC_NAMESPACE 'polaris' REST_FRAMEWORK {'DEFAULT_AUTHENTICATION_CLASSES': '', 'DEFAULT_THROTTLE_CLASSES': ['rest_framework.throttling.ScopedRateThrottle'], 'DEFAULT_THROTTLE_RATES': {'merge': '3/hour'}} ROLEPERMISSIONS_MODULE 'backend.roles' ROOT_URLCONF 'backend.urls' 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 None 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 36000 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME 'sessionid' SESSION_COOKIE_PATH '/' SESSION_COOKIE_SAMESITE 'Lax' SESSION_COOKIE_SECURE False SESSION_ENGINE 'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE True SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'backend.settings' SHORT_DATETIME_FORMAT 'm/d/Y P' SHORT_DATE_FORMAT 'm/d/Y' SHOW_XAPI_STATEMENTS '' SIGNING_BACKEND 'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] SIMPLE_JWT {'ACCESS_TOKEN_LIFETIME': '', 'ALGORITHM': 'RS256', 'REFRESH_TOKEN_LIFETIME': '', 'SIGNING_KEY': '', 'VERIFYING_KEY': ''} SP_HOST 'localhost' STATICFILES_DIRS ['/usr/src/app/static', '/usr/src/app/frontend/dist/frontend/de'] STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATIC_ROOT None STATIC_URL '/app/de/' STATISTICS_ACCESS_KEY '********************' STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['email_templates', '/usr/src/app/frontend/dist/frontend'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] TESTING 'False' TEST_NON_SERIALIZED_APPS [] TEST_RUNNER 'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR ',' TIME_FORMAT 'P' TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] TIME_ZONE 'UTC' USE_I18N True USE_THOUSAND_SEPARATOR False USE_TZ True USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION 'backend.wsgi.application' X_FRAME_OPTIONS 'DENY' YEAR_MONTH_FORMAT 'F Y' You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.