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!