Tipps and Tricks ================ .. highlight:: html+jinja This part of the documentation shows some tipps and tricks for Jinja2 templates. .. _null-master-fallback: Null-Master Fallback -------------------- Jinja2 supports dynamic inheritance and does not distinguish between parent and child template as long as no `extends` tag is visited. While this leads to the surprising behavior that everything before the first `extends` tag including whitespace is printed out instead of being igored, it can be used for a neat trick. Usually child templates extend from one template that adds a basic HTML skeleton. However it's possible put the `extends` tag into an `if` tag to only extend from the layout template if the `standalone` variable evaluates to false which it does per default if it's not defined. Additionally a very basic skeleton is added to the file so that if it's indeed rendered with `standalone` set to `True` a very basic HTML skeleton is added:: {% if not standalone %}{% extends 'master.html' %}{% endif -%}
This is the page body.
{% endblock %} Alternating Rows ---------------- If you want to have different styles for each row of a table or list you can use the `cycle` method on the `loop` object::