0
我正在嘗試爲網頁實現以下方案。如果用戶5秒鐘不活動,則註銷用戶。我有request.session ['islogin'],我想在用戶閒置5秒後重新將此會話密鑰分配給False。我嘗試過使用裝飾器,但是在幾個代碼之後,我還沒有弄清楚下一步應該寫什麼,這樣我的代碼就會檢測到非活動用戶。因此,我有問題,「我怎麼能檢測用戶處於非活動狀態5秒以分配會話密鑰,isLogin,給假?如何檢測用戶未使用5秒以分配會話密鑰?
我正在嘗試爲網頁實現以下方案。如果用戶5秒鐘不活動,則註銷用戶。我有request.session ['islogin'],我想在用戶閒置5秒後重新將此會話密鑰分配給False。我嘗試過使用裝飾器,但是在幾個代碼之後,我還沒有弄清楚下一步應該寫什麼,這樣我的代碼就會檢測到非活動用戶。因此,我有問題,「我怎麼能檢測用戶處於非活動狀態5秒以分配會話密鑰,isLogin,給假?如何檢測用戶未使用5秒以分配會話密鑰?
可以使中間件爲
middleware.py
from datetime import datetime, timedelta
from django.conf import settings
from django.contrib import auth
class AutoLogout:
def process_request(self, request):
if not request.user.is_authenticated() :
#Can't log out if not logged in
return
try:
if datetime.now() - request.session['last_touch'] > timedelta(0, settings.AUTO_LOGOUT_DELAY * 60, 0):
auth.logout(request)
del request.session['last_touch']
return
except KeyError:
pass
request.session['last_touch'] = datetime.now()
在你的設置,在你的MIDDLEWARE_CLASSES補充一點:?
MIDDLEWARE_CLASSES = [
.................
'app_name.middleware.AutoLogout',
]
and this:
# Auto logout delay in minutes
AUTO_LOGOUT_DELAY = 60 #this is equivalent for 1 hour
我需要/添加一些設置來設置文件 – mavzey 2013-02-10 07:57:23
是的,我只是更新我的代碼 – catherine 2013-02-10 07:59:07