无法解析其余部分:“ {{list [loop.index0]}}”

时间:2018-10-06 22:20:42

标签: python html django templates jinja2

我遵循了类似How do you index on a jinja template?

的类似线程中的指令

但是我的html模板无法正常工作,因此整个django项目都没有响应。

我遇到的错误:

  

模板渲染期间出错。

     

无法解析其余部分:“ songs_titles [loop.index0]”中的“ [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 :(得分:0)

实际上,您正在寻找Jinja,这对Django无效。

在Django模板标记中,您应使用forloop.counter0,列表索引应类似于

{{songs_titles.1}}

需要在变量中设置计数,然后使用它,要设置变量,可以使用-

{% with index=forloop.counter0 %}     

   {{ songs_titles.index}}

{% endwith %}

还是,如果您有任何疑问,可以发表评论。

答案 1 :(得分:0)

我终于通过创建一个自定义模板标签(如下所示)解决了这个问题: https://djangosnippets.org/snippets/2740/

但是说实话,这很糟糕,这是目前最简单的解决方案:/