会话和Django

问题描述 投票:-1回答:1

在主页上,我有一个表格登录。在应用程序中“家”的view.index,身份验证后,我创建ssesion。之后,我称之为应用“邻居”如果身份验证是好,

request.session['user'] = username
request.session.set_expiry(900)
return HttpResponseRedirect('/places/')

在项目的设置,我配置SESSION_SAVE_EVERY_REQUEST =真。

我怎样才能会话发送到所有其他页面的项目,并注销用户当会话过期?

django python-3.x django-users
1个回答
0
投票

HTTP是一个请求响应协议。

这意味着服务器没有办法在没有客户端发起的对话传达给客户。所以,做这样的事情,这是原生的Django的唯一办法,是让客户定期检查,看看是否会仍然是确定。

实现这一目标的方法之一是与背景Ajax调用(也许在使用JavaScript的setInterval),其检查会话,如果它不是什么好了(无论是到期或用户已被禁用等等),然后重定向他们回到登录页面。

另一种方法可能涉及发送期满时间到客户端,以便只检查时,将已过期的会话或具有推动这个信息给客户端的WebSocket服务器(尽管这不会对用户被禁回暖)。

© www.soinside.com 2019 - 2024. All rights reserved.