我的问题有点超出我的知识范围。简而言之,有没有一种方法可以将数据添加到方法变量中?
例如,假设我有一个包含很多文章的网站。每篇文章可能由不同的作者撰写。“文章”和“用户”在单独的表中,但通过“ user_id”链接。
我可以用它在HTML(大ol列表)内足够容易地显示文章。但是我不知道如何将用户名或用户的名字/姓氏附加到每个名称或用户名上。我知道我需要以某种方式“更新”方法变量才能使其正常工作。
models.py
class Articles(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=150, default='')
description = models.CharField(max_length=5000, default='')
views.py
def index(request):
context = {}
articles = Articles.objects.all
context = {'articles': articles}
return render(request, 'projsapp/index.html', context)
index.html
<tbody>
{% for piece in articles %}
<h1>{{ piece.title }}</h1>
<h3>{{ piece.description }}</h3>
<h6>Article by {{ piece.username }}</h6>
{% endfor %}
</tbody>
在这种情况下,方法变量是“文章”。显然“ piece.username”不起作用,如何附加它?谢谢!
每个文章(或piece
)都没有username
属性。相反,每篇文章都有一个user
,而后者又具有一个username
属性。因此,您需要获取文章的user
,并获取user
的username
:
{{ piece.user.username }}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句