我遵循了类似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}}呈现为列表,所以至少到这里为止都可以。 我在做什么错了?
答案 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/
但是说实话,这很糟糕,这是目前最简单的解决方案:/