我是django的新手。如何在django模板中的for循环中连接字符串
lead_member
最后我的test1,test2,test3....
应为 {% for lead in project.leaders %}
{{ lead.0}}
{% endfor %}
现在发生的事情(我现在的代码)
test1test2test3....
,输出为test1,test2,test3....
,但我希望与{{1}}
答案 0 :(得分:2)
试试这个。它的工作原理
{% for lead in project.leaders %}
{{ lead.0 }}{% if not forloop.last %}, {% endif %}
{% endfor %}
不需要分配任何内容,也不需要使用赋值标记来满足这种复杂性。为了让你的模板很简单,你总是可以在你的视图中,甚至在模型级别执行此操作:
# don't step on the `join` built-in
from django.template.defaultfilters import join as join_filter
class Project(models.Model):
@property
def leaders(self):
return join_filter(self.objects.values_list('some_field', flat=True), ', ')
然后你在模板中所要做的就是:
{{ project.leaders }}
答案 1 :(得分:0)
很难理解你的问题,但我希望我能做到。有许多相关问题,例如String-concatination, How to concatenate in django
可以创建第一个字符串,用逗号和每个迭代的新字符串连接它。在渲染之前,您还可以在服务器端创建类似','.join(list_of_strings)
的smth。您还可以按{{ list|join:", " }}