認証されたユーザーが5秒間非アクティブであるかどうかを検出するミドルウェアを実装しようとしていることに関連する問題があります。私はこの仕事をするためにPythonモジュールを以下に書きましたが、うまく機能していないようです。私は2つの理由を見つけました; それらの1つは; ユーザーをホームページに正しくリダイレクトできません; ミドルウェアがセッションキーを正しく変更していない
私はこの問題をどのように解決できるかを知りませんでした。以下に、私が行ったことを2つのパートとして示します。
最初の部分; ミドルウェア.py
class TimeOut:
@csrf_exempt
def process_request(self, request):
try :
if request.session['isA'] == False:
return #redirect(reverse("homePage_view"))
except KeyError:
request.session['isA'] = False
return
try :
passT = datetime.now() - request.session['Time']
if passT > timedelta( 0, settings.SESSION_COOKIE, 0):
request.session['isA'] = False
del request.session['Time']
return
except KeyError:
pass
request.session['Time'] = datetime.now()
第二部; settings.py
SESSION_COOKIE = 5
MIDDLEWARE_CLASSES = (
'home.middleware.TimeOut',
)
編集:私は誤って他のクラスを書いた。名前をTimeOutに変更しました