【发布时间】:2021-08-22 16:24:51
【问题描述】:
我想在 Django 的 html 页面中显示 ManyToManyField。
这段代码在models.py文件中:
class Keyword(models.Model):
keyword = models.CharField(max_length=20, null=True)
rank = models.IntegerField(null=False)
dateCreated = models.DateField(auto_now_add=True)
def __str__(self):
return '#' + self.keyword
class Article(models.Model):
CATEGORY = (
('programming', 'programming'),
('language', 'language'),
('other', 'other')
)
title = models.CharField(max_length=200, null=False)
image = models.ImageField(null=True)
content = models.TextField(null=False)
category = models.CharField(max_length=45, null=False, choices=CATEGORY)
dateCreated = models.DateField(auto_now_add=True)
keyword = models.ManyToManyField(Keyword)
def __str__(self):
return self.title
在views.py中:
def articles(request):
article = Article.objects.all()
keyword = Keyword.objects.all()
context = {
'keyword': keyword,
'article': article
}
return render(request, 'articles.html', context)
在html文件中:
{% for item in article %}
<tr>
<th scope="row">{{item.id}}</th>
<td>{{item.title}}</td>
<td>{{item.image}}</td>
<td>{{item.content}}</td>
<td>{{item.category}}</td>
{% for key in item.keyword.all %}
<td>{{key}}</td>
{% endfor %}
</tr>
{% endfor %}
但是 html 输出的关键字部分没有显示任何内容。我该怎么办?
【问题讨论】:
-
我以前看过那个页面。但这并没有帮助
-
您的文章似乎没有关联任何关键字