Sobrescrevendo um bloco dentro de um modelo `include`d de um modelo estendido

Tenho o seguinte:

base.html

<html>
    {% include 'header.html' %}
    <div>
    {% block content %}Default Content{% endblock %}
    </div>
</html>

header.html

<header>
     {% block logo %}Logo 1{% endblock %}
</header>

homepage.html

{% extend 'base.html' %}
{% block logo %}Logo 2{% endblock %}
{% block content %}Yap Yap Yap{% endblock %}

Essencialmente, isso não funciona. Quando renderizo ohomepage.html Eu recebo

<html>
    <header>Logo 1</header>
    <div>Yap Yap Yap</div>
</html>

mas se eu mover o código emheader.html para dentrobase.html (ou seja, livre-se doinclude completamente) funciona bem. Alguém pode explicar por que esse é o caso?

Tenho a sensação de que tem algo a ver com oincluded modelos sendo renderizados após a renderização dos pais?

questionAnswers(8)

yourAnswerToTheQuestion