Django extends Tag
Extends
The extends
tag allows you to add a parent template for the current template.
This means that you can have one master page that acts like a parent for all other pages:
Example
mymaster.html
:
1 2 3 4 5 6 7 8 9 10 |
<html> <body> <h1>Welcome</h1> {% block mymessage %} {% endblock %} </body> </html> |
template.html
:
1 2 3 4 5 |
{% extends 'mymaster.html' %} {% block mymessage %} <p>This page has a master page</p> {% endblock %} |
You put placeholders in the master template, telling Django where to put which content.
Django uses the {% block %}
tag, to create placeholders:
master.html
:
1 2 3 4 5 6 7 8 9 10 11 |
<html> <body> {% block myheading %} {% endblock %} {% block mymessage %} {% endblock %} </body> </html> |
Templates that uses the master template, uses the {% block %}
tag to create content that will be displayed in the placeholder with the same name:
template.html
:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{% extends 'mymaster.html' %} {% block myheading %} <h1>Members</h1> {% endblock %} {% block mymessage %} <ul> {% for x in members %} <li>{{ x.firstname }}</li> {% endfor %} </ul> {% endblock %} |
Run Example »