如何在Django网页上创建一个不会改变的日期

时间:2017-07-29 10:16:30

标签: django

我在Django中创建了一个网页,显示了数据库中的项目列表。我想创建一个功能,当用户首次生成该页面时,页面上会显示当前日期(而不是时间)。困难的部分是,当用户在社交媒体或任何地方共享指向该页面的链接时,原始日期应保持不变。换句话说,每次后续用户通过第一个用户共享的链接查看页面时,它都不应该更改。日期仅在第一个用户生成页面时创建一次。

目的是向该页面的后续查看者显示截至第一个用户访问它们的日期的所有相关数据库项目。但是,我还将提供有关自第一个用户访问数据库以来对数据库进行的其他相关条目数量的信息。然后,后续用户可以选择转到显示今天所有数据库项目的新页面。我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

您可以跟踪用户何时使用模型生成页面。应该“创建”该模型的一个字段,如下所示(当然,名称可以是任何名称)。然后覆盖该模型的save方法,仅在初始创建时更新创建的字段。 (这是django中用于跟踪项目创建日期的标准技术)

from datetime import date

class Yourmodel(models.Model):
    created = models.DateField()

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if not self.id:
            self.created = date.today()
        return super(Yourmodel, self).save(*args, **kwargs)