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.
issue