.. _topics-templates-overview: ============================ The Root Template ============================ At the top of the tree there is the ``root.html`` file which lays out the main tags of the html page: the ``head`` and the ``body``. A new django site using ``djpcms`` templating system need to define a new ``root.html`` template which extends ``djpcms\root.html``. Head block tags ================= Here we list the django block tags for customizing the ``head``. Body block tags ================ The body is defined has follow:: {% block doctype_html %}{{ htmldoc.html }}{% endblock %}{% load djpmodutils djpcmstags %} {% block title %}{% if djp.title %}{{ djp.title }} - {% endif %}{% block sitetitle %}{% endblock %}{% endblock %} {% block meta-content %} {% endblock %}{% block meta-language %} {% endblock %} {% block blockbots %}{% endblock %} {% block blockkeywords %}{% endblock %} {% block blockdescriptions %}{% endblock %}{% if djp.page %}{% for head in djp.page.additional_head %} {{ head|safe }}{% endfor %}{% endif %} {% compress_if_you_can css %}{% block style-reset %} {% if grid.fixed %} {% else %} {% endif %} {% endblock %} {% block extrastyle %} {% if media %}{% for css in media.render_css %} {{ css|safe }}{% endfor %}{% endif %}{% endblock %} {% endcompress %} {% compress_if_you_can js %} {% block extra-head %}{% endblock %}{% endcompress %} {% block pre-body %}{% if prebody %} {{ prebody }}{% endif %}{% endblock %} {% block html-container %}{% endblock %} {% compress_if_you_can js %}{% block end-page-scripts %} {% endblock %}{% block decorator-scripts %} {% endblock %}{% if media %} {{ media|cleanjs }}{% endif %}{% block body-scripts %} {% endblock %}{% endcompress %} {% block ads-scripts %}{% endblock %} {% block analytics-scripts %}{% if release %} {% google_analytics %} {% lloogg_analytics %}{% endif %}{% endblock %} There are two important django block tags: * ``html-container``: to wrap all the html in the page. * ``end-page-scripts``: to insert all your end-of-page javascript files.