Множественное наследование шаблонов в django — правильный ли это стиль?

Yo

поэтому у меня есть base.html:

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

и у меня также есть страница, которая показывает сообщения пользователя:

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

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

{% endblock%}

теперь проблема в том, , может быть, у меня есть еще одна страница, подобная этой:

{% 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%}

поскольку мы все принадлежим к mensa, мы можем видеть, что шикарный код, который у меня есть, повторяется дважды (для тавтологической забавы!)

я не хочу повторять это код - я имею в виду, если это будет серьезной проблемой, я сделаю это, но в противном случае я бы хотел, чтобы одна страница была определена с шикарным кодом, а затем вставляла небольшие изменения выше и (возможно) ниже него.

хотя мое понимание шаблонов шаткое - я думаю, что это способ сделать это, есть ли лучший/стандартизированный способ?

snazzy.html:

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

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

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

а затем для каждой из разных частей я могу иметь:

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%}

и т. д. и т. д. и для других частей тоже!

хорошо, я знаю, что могу просто отправить параметр с другим заголовком или что у вас есть - давайте притворимся, что вышеприведенный Snazzy материал, я не знаю, показывает какой-то другой шаблон, который я хотел бы, или делает что-то не так -тривиальный. Является ли то, что я подробно описал выше, «способом» сделать это?

ура!

21
задан bharal 2 June 2012 в 04:23
поделиться