2012-11-08 38 views
0

我知道我可以在用戶關閉瀏覽器時設置會話過期,這很好。現在我需要下一步。 問題是這樣的: 可以通過點擊「開始」按鈕開始一個動作。這會創建一個在數據庫中顯示的元組。這有一個名爲「狀態」的字段,設置爲IN PROGRESS。 當用戶按下按鈕「結束」時,我將狀態值更改爲「完成」當會話過期時Django運行函數

現在,如果在「開始」和「結束」之間用戶關閉瀏覽器,會話過期。 我想要做的是能夠攔截會話過期並從數據庫中刪除元組。

基本上我想做的是在會話過期時運行一個函數。

回答

0

會話因瀏覽器上的cookie過期而「過期」,因此您的django服務器實際上並不知道何時發生這種情況。

我會在你的情況下做的是定期刪除cron或芹菜工作中的舊數據。

+0

不存在像java中的監聽器的東西? 基本上,當用戶關閉瀏覽器時會告訴我什麼? – EsseTi

+0

@EsseTi也不存在於Java中。 –

+0

@EsseTi Django在服務器上運行,並且瀏覽器在關閉窗口時不會告訴服務器,所以無論您使用的是哪種服務器端框架/語言,都無法知道除了通過不活動猜測外。 – JeffS