{% load static themis_tags %}{% themis_error code as err %}{% themis_app_name as app_name %} {% comment %} Branded error screen, shared by every status code. This template stands alone rather than extending themis/base.html, because Django's 500 handler renders with no request: the navbar's context processors would be empty and any second exception here would replace the error page with a bare one. Everything it needs comes from the themis_error tag, settings and static files — no request, no database, no CDN. {% endcomment %} {{ err.code }} — {{ err.eyebrow }} · {{ app_name }} {% comment %} Tokens only — no daisyUI or Tailwind CDN. An error page is exactly when the network is least trustworthy, so it is styled entirely from local static. {% endcomment %} {% comment %} theme-toggle.js is deliberately not deferred: it stamps data-theme from the visitor's stored preference, and an error page has no server-side theme to render, so deferring it flashes the light theme at a dark-mode reader. It null-guards every control it looks for, so it is safe with no chrome. {% endcomment %}
{{ app_name }}

{{ err.code }} {{ err.eyebrow }}

{{ err.title }}

{{ err.body }}

{% for action in err.actions %} {{ action.label }} {% endfor %}
{% if err.reassure %}

{{ err.reassure }}

{% endif %} Reference {{ err.code }} · {% now "Y-m-d H:i T" %}