doc/book/_maybe_to_integrate/template.rst
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Tue, 22 Sep 2015 14:20:02 +0200
changeset 10643 cfded6d0da11
parent 1714 a721966779be
child 12792 e2cdb1be6bd9
permissions -rw-r--r--
fix bad-caching of datetime with tz info at sql generation time There is a special handling for datetime with tzinfo, where value was stored in the query cache. The implementation of merge_args was simply overwriting parameters of the query with those in the query cache, expecting no collision. To fix this: * handle replacement of tzinfo in merge_args, not at sql generation time * add an assertion to ensure we've actually no collision Closes #6978316



Templates
---------

*Templates* are specific views that do not depend on a result set. The basic
class `Template` (`cubicweb.common.view`) is derived from the class `View`.

To build a HTML page, a *main template* is used. In general, the template of
identifier `main` is the one to use (it is not used in case an error is raised or for
the login form for example). This template uses other templates in addition
to the views which depends on the content to generate the HTML page to return.

A *template* is responsible for:

1. executing RQL query of data to render if necessary
2. identifying the view to use to render data if it is not specified
3. composing the HTML page to return

You will find out more about templates in :ref:`templates`.