django múltipla herança de modelo - este é o estilo certo?

Yo

então eu tenho um base.html:

<html>
    <body>
        <div id="header"> ... </div>
        {% block main %}{% endblock %}
        <div id="footer"> ... </div>
    </body>
</html>

e eu também tenho uma página que mostra as postagens dos usuários:

{% extends base.html %|
{% block main%}
    <h1>welcome to yours posts hangout!</h1>

      ... snazzy code here that shows all the posts ...

{% endblock%}

agora, o problema é que talvez eu tenha outra página como esta:

{% extends base.html %|
{% block main%}
    <h1>look at all posts by all users!</h1>

      ... snazzy code here that shows all the posts by all the users ...

{% endblock%}

porque todos nós pertencemos a mensa, podemos ver que o código snazzy que eu tenho está sendo repetido - duas vezes (por diversão tautológica!)

Eu não quero repetir este código - quero dizer, se vai ser um grande aborrecimento eu vou, mas por outro lado eu gostaria que a única página que tem o código snazzy definido e, em seguida, deslize as pequenas alterações acima e ( possivelmente) abaixo dele em.

minha compreensão de modelos é instável embora - eu acho que esta é a maneira de fazer isso, existe uma maneira melhor / padronizada?

snazzy.html:

{% extends base.html %|
  {% block aboveSnazzy%}
  {% endblock %}

      ... snazzy code here that shows all the posts by all the users ...

  {% block belowSnazzy%}
  {% endblock %}
{% endblock%}

e então para cada uma das diferentes peças, eu posso ter:

usersArea.html:

{% extends snazzy.html %|
  {% block aboveSnazzy%}
      <h1>welcome to yours posts hangout!</h1>
  {% endblock %}


  {% block belowSnazzy%}
      <h1>i didn't think this far ahead in the example</h1>
  {% endblock %}
{% endblock%}

etc etc para as outras peças também!

ok, então eu sei que eu posso apenas enviar um parâmetro com um cabeçalho diferente ou o que você tem - vamos fingir que o material acima de SNazzy é, eu não sei, mostrando algum outro modelo que eu gostaria ou fazendo algo não-trivial. É o que eu detalhei acima do "caminho" para fazer isso?

Felicidades!

questionAnswers(1)

yourAnswerToTheQuestion