将数据添加到方法变量

鲍勃

我的问题有点超出我的知识范围。简而言之,有没有一种方法可以将数据添加到方法变量中?

例如,假设我有一个包含很多文章的网站。每篇文章可能由不同的作者撰写。“文章”和“用户”在单独的表中,但通过“ 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,并获取userusername

{{ piece.user.username }}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章