django在模板中用逗号连接字符串

时间:2015-09-17 19:09:01

标签: python django

我是django的新手。如何在django模板中的for循环中连接字符串

lead_member

最后我的test1,test2,test3....应为 {% for lead in project.leaders %} {{ lead.0}} {% endfor %}

现在发生的事情(我现在的代码)

test1test2test3....

,输出为test1,test2,test3....,但我希望与{{1}}

相同

2 个答案:

答案 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-concatinationHow to concatenate in django

可以创建第一个字符串,用逗号和每个迭代的新字符串连接它。在渲染之前,您还可以在服务器端创建类似','.join(list_of_strings)的smth。您还可以按{{ list|join:", " }}

加入模板列表