2017-06-13 57 views
0

我正在實現一個Django支持的網站,我需要跟蹤登錄的用戶訪問的網站。我已經使用了它,但沒有找到任何特定於Django的內容。在Django中跟蹤用戶的網頁搜索歷史

我知道有在link

可用文檔任何人都可以請推薦一些Django的具體文件或某些算法是無關的網頁瀏覽器。

謝謝。

編輯: Django的應用程序將表現得像個門戶,將驗證用戶使用internet.The搜索將不會是Django的動力網站上,因爲這將只是充當登錄門戶網站,註銷。

+0

您可以創建一箇中間件和一個簡單的模型來記錄每個請求 – Brobin

+0

謝謝,我理解你對模型的觀點,但是你能否詳細介紹一下中間件? – ssharma

回答

2

這取決於各種事情,你可能會得到非常不同的答案。

一種方法是將request.session中的網址列表存儲爲會話cookie值。

如果您需要更多持久性,您可以爲其創建自己的模型並將其保存在每個請求上。喜歡的東西:

class Tracker(models.Model): 
    url = models.URLField() 
    user = models.ForeignKey('auth.User') 
    time = models.DateTimeField(auto_now_add=True) 

然而,這可以根據您打算如何激烈的使用它相對較慢。

如果您需要存儲大量此類數據,可能需要調查添加數據庫後端(如influxdb),該數據庫後端旨在存儲大量時間序列數據以供以後進行統計評估。

+0

謝謝,但我怎麼知道是否發出請求,因爲它可以在任何選項卡上發出,此django網站將代表一個門戶網站,之後用戶通過身份驗證使用internet.Can請詳細說明如何跟蹤請求? – ssharma

+0

@ssharma不知道我明白你的意思是「可以在任何標籤上製作」或「通過互聯網認證」。我這樣理解,你想跟蹤你的頁面上的用戶。你無法跟蹤用戶在別處做什麼。 –

+0

該應用程序就像一個門戶網站,例如在大學裏,一般來說學生需要登錄門戶網站以獲得大學證書才能使用互聯網進行身份驗證。 – ssharma