Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Возможно ли оптимизировать один шаблон на 2 представления? [RSS Feed]

#1 Ноя. 26, 2009 19:24:36

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли оптимизировать один шаблон на 2 представления?

Всем привет,
есть такой шаблон

<table border = "1">
{% for book in books%}

{% if forloop.first %}
<tr>
<td>Книга</td>
{% if book.count %}<td>Кол-во</td>{% endif %}
<td>Удалить</td></tr>
{% endif %}

<tr>
<td><a href="edit/{{book.id}}/" TITLE="Щелкните, чтобы редактировать {{book}}">
{{ book }}</a></td>
{% if book.count %}<td>{{ book.count }}</a></td>{% endif %}
<td><a href="delete/{{book.id}}/" TITLE="Щелкните, чтобы удалить {{book}}">X</td>
</tr>
{% endfor %}
</table>
хочу его нужно использовать в двух представлениях. В первом случае нужно вывести таблицу - список книг. Во втором случае вывести таблицу - название книг и их кол-во (book.count). Можно ли как то оптимизировать код - исключить из цикла условие
{% if forloop.first  %}
<tr>
<td>Книга</td>
{% if book.count %}<td>Кол-во</td>{% endif %}
<td>Удалить</td></tr>
{% endif %}
Но тогда как определить что переменная book имеет поле count?
P.S. или оставить код как есть?



Офлайн

#2 Ноя. 26, 2009 20:53:51

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли оптимизировать один шаблон на 2 представления?

Зачем делать из двух шаблонов один? Не вижу в данном случае смысла. В случаях, когда два темплейта не сильно отличаются по контенту и по логике, я делаю один из них базовым (добавляю ему дополнительные {% block … %} {% endblock %}), а второй делаю путём расширения первого (за счёт тех дополнительных блоков в первом темплейте, т.е. {% extends … %}). Таким образом всё равно будет два темплейта, но всегда будет понятно что один из них базовый и все они выполняют примерно одинаковую функцию.



Офлайн

#3 Ноя. 26, 2009 21:16:52

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Возможно ли оптимизировать один шаблон на 2 представления?

poltergeist
В случаях, когда два темплейта не сильно отличаются по контенту и по логике, я делаю один из них базовым
В данном случае, по моему, самый верный способ. Главное правильно бить на блоки, а там гляди, и еще появятся странички, которые хорошо состыкуются с этими шаблонами



Отредактировано (Ноя. 26, 2009 21:17:53)

Офлайн

  • Начало
  • » Django
  • » Возможно ли оптимизировать один шаблон на 2 представления?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version