为什么这个python代码不比较两个日期?

为什么这个python代码不比较两个日期?,python,django,Python,Django,我已经写了这个简单的代码,但即使我在django管理部分更新我的帖子时,{%if post.is_updated%}更新日期:{{post.date_updated}}{%endif%}这段代码也没有运行(更新日期不显示在博客上) 型号.py class Post(models.Model): title=models.CharField(max_length=100,help_text='Enter Title') content=models.CharField(max_le

我已经写了这个简单的代码,但即使我在django管理部分更新我的帖子时,
{%if post.is_updated%}更新日期:{{post.date_updated}}{%endif%}
这段代码也没有运行(更新日期不显示在博客上)

型号.py

class Post(models.Model):
    title=models.CharField(max_length=100,help_text='Enter Title')
    content=models.CharField(max_length=500)
    author=models.ForeignKey(User,on_delete=models.CASCADE)
    date_posted=models.DateTimeField(default=timezone.now)
    date_updated=models.DateTimeField(auto_now=True) field

    def __str__(self):
        return self.title

    @property
    def is_updated(self):
        if self.date_updated > self.date_posted:
            return  True
        else:
            return False

article.html

 <div>{{ post.date_posted|date:"F d, Y" }} {% if post.is_updated %} Updated on: {{post.date_updated}}{%endif%}</div>
{post.date_posted}日期:“fd,Y”}{%if post.is_updated%}更新日期:{{post.date_updated}{%endif%}

要比较日期,只需导入datetime,然后转换要比较的数据

此外,考虑使用“返回[测试]”模式:

当然,您可能希望在启动时将字段设置为datetime,而不是使用字符串。在这种情况下,在init中使用strtime(),只需执行

def is_updated(self):
    return self.date_updated > self.date_posted

@对于dude Sry,在转换之前需要将其转换为DateTime类型。我编辑了anwser,给你。
def is_updated(self):
    return self.date_updated > self.date_posted