Проблема рендеринга svg в шаблоне Django
У меня есть html-шаблон django, который содержит этот элемент svg:
<svg id="tower_layout" width="400" height="400" style="border: 1px solid black;" xmlns="http://www.w3.org/2000/svg">
<rect width="398" height="398" x="1" y="1" fill="#e4e4e7" />
<text x="200" y="20" stroke="black" font-size="15" text-anchor="middle">Tower Diagram</text>
{% for i in val_range %}
{% if i > 0 %}
<line x1="{{ val[i-1].x_d }}" y1="{{ val[i-1].y_d }}" x2="{{ val[i].x_d }}"
y2="{{ val[i].y_d }}" stroke-width="1" stroke="black" />
{% endif %}
{% endfor %}
При попытке отрисовки шаблона я получаю сообщение "TemplateSyntaxError: Не удалось разобрать остаток: '[i-1].x_d' из 'val[i-1].x_d'", когда я пытаюсь отрисовать шаблон. Я приостановил шаблон и проверил, что все 4 элемента val доступны с помощью отладочной консоли. Я не могу понять причину этой ошибки.
Любые предложения будут очень признательны!
Вы не можете использовать это в своих шаблонах Django:
{{ val[i-1].x_d }}
Вам нужно будет создать пользовательский тег или фильтр для доступа к значениям внутри val, который, как я полагаю, является некоторым dict.
Смотрите https://docs.djangoproject.com/en/5.0/howto/custom-template-tags/