如何在Django中将每个单独的数组项打印为模板变量?

时间:2017-04-01 06:21:40

标签: python django

我在Django模式中有一个字段如下:

tags = models.CharField(null=True, blank=False, max_length=50)

并且在该字段中我的值为:

['One', 'Two', 'Three']

我目前正在尝试将其打印出来" One"," Two"和" Three"使用for语句分别在Django模板中,如下所示:

{% for tag in posts %} 
    {{ tag }}
{% endfor %}

但它似乎是从数组中打印每个单独的章程而不是单词本身。我知道我在这里看的东西。有人可以帮助我或指出我正确的方向吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我希望你的标签字段中你完全喜欢。

class FooModel(models.Model):
    tags = models.CharField(null=True, blank=False, max_length=50)

    def tags_list(self):
        try:
            return eval(self.tags)
        except:
            return None

您需要解析此字符串并将其传递给模板。您应该能够如上所述访问它。您可以添加为您执行此操作的模型方法。例如:

{% for tag in foo.tags_list %} 
    {{ tag }}
{% endfor %}

然后在你的模板中你可以做到。

cummax