因此,我想在登录时在其个人资料中显示该用户的所有帖子,但似乎无法弄清楚该怎么做。这是我的模板:
{% for post in posts %}
{% if user.username == post.author %}
<div class="container col-lg-8 ml-lg-5">
<div class="box">
<a href="#"><img class="rounded-circle account-image" src="{{
post.author.profile.image.url }}" alt="" ></a>
<a href="#"><h4 style="float: left;">{{post.author}}</h4></a>
<small>{{post.date_posted}}</small>
<hr width="82%" align="right">
<br>
<div class=""> <p>{{post.content}}</p></div>
</div>
<br>
</div>
{% endif %}
{% endfor %}
这是我的模型: 类Post(models.Model):
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
它不会显示任何错误,只是无法正常工作。当我尝试删除if语句时,它可以工作,但会向我显示每个用户的每条帖子
答案 0 :(得分:2)
您正在将当前用户的用户名与帖子的用户实例进行比较。尝试以下方法:
{% if user == post.author %}
编辑: 如果您对用户未发表的帖子不做任何处理,则应该在视图中进行真正的过滤,以使模板更加简单。