Skip to content

Instantly share code, notes, and snippets.

@issackelly
Created April 19, 2011 16:48
Show Gist options
  • Save issackelly/928783 to your computer and use it in GitHub Desktop.
Save issackelly/928783 to your computer and use it in GitHub Desktop.
Django Template {{ block.super }} example
# Template: A.html
<html>
<head></head>
<body>
{% block hello %}
HELLO
{% endblock %}
</body>
</html>
# Template B.html
{% extends "A.html" %}
{% block hello %}
World
{% endblock %}
# Rendered Template B
<html>
<head></head>
<body>
World
</body>
</html>
# Template C
{% extends "A.html" %}
{% block hello %}
{{ block.super }} World
{% endblock %}
# Rendered Template C
<html>
<head></head>
<body>
Hello World
</body>
</html>
@artu-hnrq
Copy link

Thanks. Helped me to understand it more clearly :-)

Yeah!

@scotth527
Copy link

On line 36 why is it not HELLO World? If in the parent template the HELLO is in all caps?

@artu-hnrq
Copy link

artu-hnrq commented Apr 16, 2021

On line 36 why is it not HELLO World? If in the parent template the HELLO is in all caps?

You are right, @scotth527!
{{ block.super }} will render the same content present in the current block of extended template.
Thus, in this case, HELLO World

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment