Методы {% extends %}
и {% include %}
хороши для элементов страницы, которые не нуждаются в дополнительной информации в контексте.
Как только вам нужно будет вставить в базу данных больше контекста, теги шаблона пригодятся. Например, приложение contrib.comments
, включенное в Django, определяет тег шаблона {% get_comment_list %}
для получения комментариев, прикрепленных к данному экземпляру модели. Вот как вы бы это использовали:
<div>
{% load comments %}
{% get_comment_list for my_instance as comment_list %}
{% for comment in comment_list %}
<p><a href="{{ comment.url }}">{{ comment.name }}</a> wrote:</p>
{{ comment.comment }}
{% endfor %}
</div>
Вы можете сохранить это в отдельном шаблоне и {% include %}
в других шаблонах.
Для вашего собственного контента вы можете написать свои собственные шаблоны тегов. Следуйте документации . Когда это возможно, удобно писать теги с помощью механизма simple tag . Вы найдете удобные готовые теги шаблонов на djangosnippets.org и blogosphere .