{% extends base_template %} {% comment %} The content screen, used for a page and for a shared section alike. It is not a Django change form and deliberately does not look like one: content is a stack of sections in the order a reader meets them, so this renders them in that order, in cards, one language at a time. `base_template` is the theme's layout where the project has one and the plain admin's where it does not -- see apps/cms/theme.py. Nothing here uses a template tag from the theme, so the page renders either way; without the theme's stylesheet the classes below are simply inert. {% endcomment %} {% load i18n static %} {% block title %}{{ title }} | {{ site_title }}{% endblock %} {% block extrahead %} {{ block.super }} {# The date and time widgets are the admin's own, and the admin's own JS #} {# expects two things a change form provides and a custom page does not: #} {# the translation catalogue, and core.js. Without them calendar.js #} {# throws on load and the picker never appears -- with a 200 in the log #} {# and the field looking like an ordinary text box. #} {{ form.media }} {% endblock %} {% block content %} {# `multipart/form-data` only when something on this screen can carry a #} {# file: a form posted without it drops its uploads silently -- the page #} {# saves, says so, and the picture is not there. #}
{% endblock %}