python - 如何在 5 分钟内使 Django session 过期?

标签 python python-3.x django django-views django-sessions

我正在使用它来登录用户:

def login_backend(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            login(request, user)
            request.session.set_expiry(300)
            return HttpResponseRedirect('/overview/')
        else:
            return HttpResponseRedirect('/login_backend/')
    else:
        return render_to_response('login_backend.html', context_instance=RequestContext(request))

我希望 session 在 5 分钟后过期,因此我在上面的 View 中添加了 request.session.set_expiry(300)。但是 session 永远不会过期。我做错了什么?

最佳答案

有两个参数可以使 session 过期,SESSION_EXPIRE_AT_BROWSER_CLOSESESSION_COOKIE_AGE . 如果你想在 5 分钟后过期,你的设置应该如下:

SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_COOKIE_AGE = 5 * 60

将两者结合起来学习如何编写自定义中间件 "Is there a way to combine behavior of SESSION_EXPIRE_AT_BROWSER_CLOSE and SESSION_COOKIE_AGE"

关于python - 如何在 5 分钟内使 Django session 过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14830669/

相关文章:

python / Pandas : fill missing values in specific rows and columns

python - 在 Python 3.4 中按日期对字典列表进行排序

python - 如何定义 scrapy shell 使用哪个蜘蛛?

python - 从 python 保存到 .json 文件时无法修复奇怪的字符

python - 从多个 panda 数据帧创建 HDF5

javascript - 动态过滤django表单中的内容

django - Bitnami Django 创建多个项目

python - 在 Python 中通过 Zapier 输入声明变量

python-3.x - Keras - 基于用户输入的 EarlyStopping

django - 如何为多个 View 设置 cookie?