{# BLOCK: head_title Page text. Override in any page template. Default: "My App" #} <title>{% block head_title %}My App{% endblock %} {# Tailwind CSS via CDN — works out of the box for development. For production, replace with a compiled stylesheet: 1. Install: npm install -D tailwindcss 2. Add dj_auth templates to your tailwind.config.js content paths: content: ["./templates/**/*.html", "/lib/python3.x/site-packages/dj_auth/templates/**/*.html"] 3. Compile: npx tailwindcss -o static/css/main.css --minify 4. Override the extra_head block below with a link tag pointing to your compiled CSS. #} {# BLOCK: extra_head [OPTIONAL] Additional content: extra CSS links, meta tags, etc. To swap Tailwind CDN for a compiled build, override this block. #} {% block extra_head %}{% endblock %} {# BLOCK: nav [OPTIONAL] The top navigation bar. Override to customise branding. Sub-blocks allow targeted overrides without replacing the entire nav: - nav_logo_href : href for the logo link (default: "/") - nav_logo_content : logo HTML (icon + site name) - nav_links : right-side nav items (already has auth links) #} {% block nav %}
{% endblock nav %} {# Flash messages — not a customisation point; override the nav block if you need to reposition these #} {% if messages %}
{% for message in messages %}
{{ message }}
{% endfor %}
{% endif %} {# BLOCK: content [REQUIRED — this is where allauth renders auth pages] Main page content. All dj_auth templates (login, signup, MFA settings, etc.) render their output here. Your own page templates must also use this block. #}
{% block content %}{% endblock %}
{# BLOCK: footer [OPTIONAL] Page footer. Override to customise or remove. #} {% block footer %} {% endblock footer %} {# BLOCK: extra_body [OPTIONAL] Scripts/content just before . Used internally for the passkey JS snippet. #} {% block extra_body %}{% endblock %}