Не удалось разобрать остаток: '{{list [loop.index0]}}' - PullRequest
0 голосов
/ 07 октября 2018

Я следовал инструкциям в том же потоке, как: Как вы индексируете шаблон jinja?

, но мой HTML-шаблон не работает, и весь проект django не отвечает из-за этого.

Ошибка, которую я получаю:

Ошибка во время рендеринга шаблона.

Не удалось проанализировать остаток: '[loop.index0]' from 'songs_titles [loop.index0] '

Мой код выглядит следующим образом:

{% if converted_files_urls %}
    <p>Titles: {{ songs_titles }}</p>
    {% for n in converted_files_urls %}
        <a href="{{ n }}" download>Download:  {{ songs_titles[loop.index0] }}</a>
        <br/>
    {% endfor %}
{% endif %}

и {{songs_titles}} отображаются в виде списка, так что, по крайней мере, пока все работает нормально.Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Я наконец решил эту проблему, создав собственный шаблонный тег, как здесь: https://djangosnippets.org/snippets/2740/

Но, если честно, это отстой, что это самое простое на данный момент решение: /

0 голосов
/ 07 октября 2018

На самом деле вы ищете Jinja, который не будет работать с django.

В теге шаблона django вы должны использовать forloop.counter0, а индексирование списка выглядит как

{{songs_titles.1}}

Необходимо установить количество в переменной, а затем использовать его, для установки переменной вы можете использовать -

{% with index=forloop.counter0 %}     

   {{ songs_titles.index}}

{% endwith %}

Тем не менее Если у вас есть какие-либо сомнения, вы можете прокомментировать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...