我对 Web 开发非常陌生,我已经使用 Django 创建了一个示例项目。到目前为止,我有一个 Django 驱动的页面,它显示了我的数据库模型对象之一的内容,该模型对象称为出版物。我在视图模板中的代码是:
<html><head><title>Publications</title></head>
<body>
<h1>Publications</h1>
<ul>
{% for publication in publication_list %}
<li>{{ publication.title }} </li>
{% endfor %}
</ul>
</body></html>
这工作正常,但现在我想访问和显示出版物上称为标签的多对多属性。我尝试添加另一个 for 标记,如下所示:
<html><head><title>Publications</title></head>
<body>
<h1>Publications</h1>
<ul>
{% for publication in publication_list %}
<li>{{ publication.title }} </li>
{% for tag in publication_list.tags %}
<li>{{ tag.title }} </li>
{% endfor %}
{% endfor %}
</ul>
</body></html>
我意识到这是完全错误的,但我看不到如何访问标签模型。作为参考,我在视图中显示出版物的功能是:
def display_publications(request):
publication_list = Publication.objects.order_by('title')[:10]
return render(request, 'publications.html', {'publication_list': publication_list})
我的出版物和标签模型是:
class Tag(models.Model):
title = models.CharField(max_length=50)
class Publication(models.Model):
title = models.CharField(max_length=200)
tags = models.ManyToManyField(Tag, blank=True)
任何帮助表示赞赏。