{# The dashboard. The page itself owns the header, the configuration warnings and the grid; each card owns everything inside it. Which cards there are, and in what order, is `fort.set_dashboard(...)` -- so this template never learns the name of a widget, and a project's own widget renders exactly like a built-in one. #} {% extends "base.html" %} {% block content %}

{{ _(settings.project_name) }}

{% if models %} {{ _("{count} model registered", count=models) if models == 1 else _("{count} models registered", count=models) }} · {{ dialect }} {% else %} {{ _("Nothing registered yet") }} {% endif %}

{% if issues %} {# Configuration problems belong on the first page someone opens, not in a log they will not read. #}
{{ _("Configuration needs attention") }}
{% endif %} {% if cards %}
{% for card in cards %} {# The span is the widget's own, and it is a small integer from a constant in `admin/dashboard.py` -- never a number from a request. #}
{% include card.template %}
{% endfor %}
{% else %}
{{ _("No models are registered") }}

Register one with @admin.register(Model), then make sure the module is imported — see fort.autodiscover(...) and fort.include_admin(...).

{% endif %} {% endblock %}