私は Web 開発が初めてで、Django を使用してサンプル プロジェクトを作成しました。これまでのところ、Publications と呼ばれるデータベースのモデル オブジェクトの 1 つのコンテンツを表示する 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)
どんな助けでも大歓迎です。