我的Django模板正在打印一个列表,其中元素之间用逗号分隔,但是最后一项也总是带有逗号。通过执行以下操作,我能够解决模板中的问题:
Type 'Any' has no subscript members
但是在阅读了一些此处的帖子之后,我认为最好在views.py文件中进行操作。我不知道该怎么做,也无法真正理解此处的其他帖子。这是相应的视图文件:
statusBarNotification.getNotification().actions
是否有一种方法可以将“生产者”转换成字典并将其传递给模板,从而使除最后一项以外的所有项目都用逗号分隔?
答案 0 :(得分:2)
您可以使用内置的join
模板(参考https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#join)
所以你的例子:
<li>Producer:
{% for producer in producers %}
{% if not forloop.last %}
{{ producer }},
{% else %}
{{ producer }}
{% endif %}
{% endfor %}
</li>
只会变成:
<li>Producer:
{{ producers|join:', ' }}
</li>
答案 1 :(得分:0)
您可以将其作为公用的分隔字符串发送。另外,它应该是生产者,而不是生产者
context = {'song': song, 'date_added': date_added, 'artist': artist,
'url': url, 'year': year, 'genres': genres, 'country': country,
'producers': ','.join(map(str, song.producer.all())), 'label': label, 'source': source,
'source_url': source_url, 'comments': comments}