Предположим, у меня есть набор шаблонов, которые используют блок HTML несколько раз. Я хотел бы поместить повторно использованный HTML в {% include %}
или {% block reused-stuff %}
, но один из HTML-тегов - это href
, который, как представляется, не может генерировать динамически. (Это похоже на проблему хлебных крошек.)Django template dynamic URL
Ниже приведен пример повторного HTML:
<td><a href="{% url analytics:buyer-stats:brand client.slug %}">{{ row.brand }}</a></td>
<td>{{ row.num_leads }}</td>
<td>{{ row.num_sold }}</td>
<td>{{ row.revenue }}</td>
<td>{{ row.scrub_rate|default_if_none:"N/A" }}</td>
Обратите внимание на первый <td>
включает href
к analytics:buyer-stats:brand
. Мне нужно динамически изменить это значение на несколько других значений (в зависимости от шаблона с использованием этого include или block). то есть analytics:buyer-stats:offer
, analytics:buyer-stats:client
и т. д.
Любые предложения по выполнению этого на стороне шаблона? Достаточно легко передать объект row
с использованием with row=my_data
, но как передать значение URL?
EDIT: Этот проект использует Django 1.4 и Python 2.7.3.
Я использую Django 1.4. Можно ли это сделать в 1.4? – Rico
Вы можете использовать '{% load url from future%}' в верхней части шаблона, чтобы включить это. Обратите внимание, что это изменит поведение для всех URL-адресов в этом шаблоне. –
Извините, но я не выбрал ваш ответ в качестве решения, потому что у меня не было времени проверить, что это будет работать для моей ситуации. Спасибо за предложение. Я отвечу на ваш комментарий. – Rico