当用户关闭基于 django2.0 的网站上的选项卡或浏览器时,如何强制注销用户

man*_*njy 2 authentication django django-authentication

我使用 Django 使用 Django 身份验证使用了内置的登录注销功能,这是用于登录 urls.py 的以下 url 模式:

from django.contrib import admin
from django.urls import path, include
from . import views


urlpatterns = [
    path('',views.home),
    path('admin/', admin.site.urls),
    path('users/', include('users.urls')),
    path('users/', include('django.contrib.auth.urls')),
    path('dashboard/', include('dashboard.urls')),

]
Run Code Online (Sandbox Code Playgroud)

我在我的 setting.py settings.py 中添加了以下内容:

LOGIN_REDIRECT_URL = 'dashboard:home'
LOGOUT_REDIRECT_URL = 'dashboard:home'
Run Code Online (Sandbox Code Playgroud)

现在我如何检查用户是否关闭了他的浏览器并且他应该被注销?PS:我制作了自己的登录和注册 HTML 页面,并制作了从 AbstractUser 派生的自己的自定义用户

sol*_*oke 5

只需将SESSION_EXPIRE_AT_BROWSER_CLOSE设置设置为 true,以便 Django 的会话 cookie 仅在浏览器 session长度内有效。

如果SESSION_EXPIRE_AT_BROWSER_CLOSE设置为 True,Django 将使用浏览器长度的 cookie——一旦用户关闭浏览器就会过期的 cookie。如果您希望人们每次打开浏览器时都必须登录,请使用此选项。