Передать динамическое значение во встроенный URL-адрес Django - PullRequest
0 голосов
/ 14 января 2019

В представлении я поддерживаю словарь, содержащий некоторые данные, которые я хотел бы отобразить в шаблоне <a> в шаблоне с встроенным Django url .

my_view.py

links = [
  {
    'name': 'link 1',
    'pattern': 'fe:upload'
  },
  {
    'name': 'link 2',
    'pattern': 'fe:download'
  }
]

Он будет работать жестко, как это:

<a href="{% url 'fe:upload' id %}">up</a>
<a href="{% url 'fe:download' id %}">down</a>

Однако я изо всех сил пытаюсь поместить это в цикл

my_template.html

<ul>
  {% for link in links %}
    <li>
      <a href='{% url link.pattern id %}'>{{link.name}}</a>
    </li>
  {% endfor %}
</ul>

Я пробовал:

  • экранирование кавычек с \ и HTML-сущностями
  • поместив href во временную переменную, например: {% with href=url 'link.pattern' %} и получите ошибку:

u'with' received an invalid token: u"'link.pattern'"

как я могу поместить динамический шаблон в этот цикл для генерации привязки?

1 Ответ

0 голосов
/ 14 января 2019

Вы пробовали следующее:

{% with link.pattern as link_pattern %}
    <li>
      <a href='{% url link_pattern id %}'>{{link.name}}</a>
    </li>
{% endwith %}
...