Django HTML模板中的许多标记

Django HTML模板中的许多标记,django,many-to-many,Django,Many To Many,我对Django很陌生,有一个有很多字段的模型。我试图在html中显示标记名称。如果我在模板中使用{{listing.tag},我会得到类似的内容,{{listing.tag.name}不会显示任何内容 这是我的模型: from django.db import models from django_extensions.db.fields import AutoSlugField class Tag(models.Model): name = models.CharField(max

我对Django很陌生,有一个有很多字段的模型。我试图在html中显示
标记
名称。如果我在模板中使用
{{listing.tag}
,我会得到类似
的内容,
{{listing.tag.name}
不会显示任何内容

这是我的模型:

from django.db import models
from django_extensions.db.fields import AutoSlugField

class Tag(models.Model):
    name = models.CharField(max_length=100)
    slug = AutoSlugField(populate_from='name', unique=True)

    def __unicode__(self):
        return self.name

class Listings(models.Model):
    listing = models.CharField(max_length=50)
    description = models.CharField(max_length=500)
    email = models.EmailField(max_length=75)
    tag = models.ManyToManyField(Tag)
    pub_date = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return self.listing  
如何显示标签的名称?提前谢谢

因为,您需要循环查询集

您可以通过以下方式访问查询集:
{{listing.tag.all}

您可以通过这种方式访问它

{% for tag in listing.tag.all %}
    {{tag.name}}
{% endfor %}

您应该循环查看您的标记集:

{% for tag in listing.tag.all %}
   {{ tag.name }}
{% endfor %}

如果您只需要
\uuuu str\uuuu
(或等效项)和一个简单的连接,这将起作用:

{{listing.tag.all | join:,“}}

参考: