2017-07-29 163 views
0

我在Django中創建了一個顯示數據庫中項目列表的網頁。我想創建一個功能,當用戶第一次生成該頁面時,當前日期(不是時間)顯示在頁面上。困難的部分是,當用戶在社交媒體或任何地方共享該頁面的鏈接時,原始日期應保持不變。換句話說,每次後續用戶通過第一個用戶共享的鏈接查看頁面時,它都不應該改變。日期僅在第一個用戶生成頁面時創建一次。如何創建一個不會在Django網頁上更改的日期

目的是顯示該頁面的後續查看者截至第一個用戶訪問它們的日期的所有相關數據庫項目。但是,我還會提供有關自第一個用戶訪問數據庫以來已經對數據庫進行了更多相關條目數量的信息。隨後的用戶可以選擇轉到顯示所有數據庫項目的新頁面。我怎樣才能實現這個?

回答

0

您可以跟蹤用戶何時使用模型生成頁面。該模型的一個領域應該如下所示「創建」(當然,名稱可以是任何東西)。然後覆蓋該模型的保存方法以僅在初始創建時更新創建的字段。 (這是在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) 
+0

非常感謝你。這很有幫助! – henrich

+0

@henrich,很樂意幫忙,歡迎來到Stack Overflow。如果此答案或任何其他人解決了您的問題,請將其標記爲已接受。 –

+0

我很高興這樣做,但看不到我如何將其標記爲已接受。請指教,我很樂意這樣做。謝謝。 – henrich

相關問題