dziedziczenie wielu szablonów django - czy jest to odpowiedni styl?
Siema
więc mam bazę.html:
<html>
<body>
<div id="header"> ... </div>
{% block main %}{% endblock %}
<div id="footer"> ... </div>
</body>
</html>
a także mam stronę, która pokazuje posty użytkownika:
{% extends base.html %|
{% block main%}
<h1>welcome to yours posts hangout!</h1>
... snazzy code here that shows all the posts ...
{% endblock%}
teraz problem polega na tym, że może mam inną stronę taką jak ta:
{% 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%}
ponieważ wszyscy należymy do mensy, widzimy, że kod snazzy, który mam, jest powtarzany - dwa razy (dla zabawy tautologicznej!)
Nie chcę powtarzać tego kodu - to znaczy, jeśli będzie to poważny problem, będę, ale poza tym chciałbym mieć jedną stronę, na której zdefiniowano kod snazzy, a następnie zrzucić małe zmiany powyżej i ( ewentualnie) poniżej.
moje rozumienie szablonów jest niepewne - myślę, że jest to sposób na zrobienie tego, czy istnieje lepszy / standaryzowany sposób?
snazzy.html:
{% extends base.html %|
{% block aboveSnazzy%}
{% endblock %}
... snazzy code here that shows all the posts by all the users ...
{% block belowSnazzy%}
{% endblock %}
{% endblock%}
a potem dla każdego z różnych kawałków mogę mieć:
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 dla innych kawałków też!
ok, więc wiem, że mogę po prostu wysłać parametr z innym nagłówkiem lub tym, co masz - udawajmy, że powyższe rzeczySnazzy pokazują, nie wiem, inny szablon, który chciałbym zrobić lub zrobić coś nietrywialnego. Czy to, co wyszczególniłem powyżej „sposób”, aby to zrobić?
Twoje zdrowie!