我在下面的代码上遇到了困难。
{% if object.author == user.username %}
该代码无法正常工作,也不会出错。
所以我的django项目中有文章应用程序。我想确保如果用户转到自己的帖子,那么只有他们应该能够看到删除和编辑链接(如果阻止,我会将其放置在其中)。
Article模型如下:
class Article(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article_detail', args=[str(self.id)])
这里
{{user.username}}
{{object.author}}
都是有效的django变量。
{{user.username}}
指定当前登录用户的用户名
{{object.author}}
指定该特定帖子的作者。
请帮助我实现两个变量的比较逻辑。我正在使用python 3.6,django 2.1和django模板语言。
答案 0 :(得分:0)
如果您发布模型(并正确设置文本格式),您的问题将更容易回答。
我假设object.author
实际上是User模型的ForeignKey。因此,您应该直接与用户进行比较,而不是与用户的username属性进行比较:
{% if object.author == user %}