问题标签 [django-sessions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
749 浏览

python - 如何防止 Django 覆盖 sessionid cookie?

我试图在测试中有 2 个具有相同会话的浏览器窗口。请注意,由于 selenium 的限制,每个浏览器都有不同的 firefox 配置文件。

测试(您可以尝试,只要您有测试/测试人员用户)是:

输出是:

如您所见,在 browser1 打开 /admin/ 后,它的 sessionid 被意外覆盖。

如何解决这个问题?我试图让 browser1 与 browser0 具有相同的会话。

修复代码,感谢 Hedde ---

0 投票
2 回答
727 浏览

django - 如何在视图中使用 django 会话框架?

我一直在阅读 django 会话框架,但并没有真正理解它。我正在创建一个对象,并且想知道如何在视图中使用 django 会话。这就是创建对象的方式。

任何帮助表示赞赏。初级程序员。

0 投票
2 回答
1337 浏览

django - 为什么 django 在数据库中创建许多会话对象?

我有一个带有名为 'app' 的应用程序的香草 django 项目。它有views.py 和middleweres.py。

Django 在每次请求时都会在 db 中的会话表中添加一行。为什么?

UPD:我仍然很困惑。我为这个问题做了一个 github 项目:https ://github.com/vinograd19/django-session-problem/ 你可以在那里找到我的代码并在你的机器上运行它

0 投票
1 回答
1010 浏览

python - Django:将 request.FILES 放入 request.SESSION

我正在尝试将 request.session 字段放在我的 request.session 中以供以后使用。但是当我简单地写:

我总是收到这个错误:

有什么问题?

0 投票
0 回答
897 浏览

django - 如何在 Django 中禁用自动会话到期更新?

我正在 Django 中开发一个具有一些特定安全要求的应用程序。其中之一是禁用默认行为以自动延长活动会话的到期时间。是的,我希望会话过期,除非明确更新(例如重新登录、更新令牌等 - 现在不相关)。

这如何提高安全性?那么,控制受害者 PC 的恶意用户将只能在有限的时间内访问受害者经过身份验证的应用程序。

不幸的是,使用django.contrib.sessions,这似乎是不可配置的,因为会话的修改时间被彻底使用,并且在后端(backends/base.py)的基础中用于服务器端存储以及在中间件组件(middleware.py)中用于 HTTP cookie。SessionStore._session_expiry此外,由于只有会话数据被加载到会话对象中,因此只能以内部修改时间的相对形式访问到期时间( )。因此,除非我们直接询问模型(Session.objects.get(pk=s.session_key).expire_date- 呃,丑陋),否则我们不知道过期日期是什么。

我该如何正确实施?get_expiry_*如果不重新实现方法和process_response()中间件功能,这可能吗?我宁愿避免这种情况,因为我认为它可能会在以后中断,以防 Django 得到更新。

通过设置自定义会话变量来以我自己的方式(如在此答案中)跟踪到期来尝试这一点似乎不仅多余,而且还会混淆其他应用程序/代码询问SessionStore.get_expiry_age(),而我的中间件将强制执行不同的到期。因此,我认为这种方法对于我的目的来说质量太低了。

我的上述假设是否正确?我是否应该将此作为一项新功能提出要求并同时自己修补它?

0 投票
2 回答
698 浏览

django-sessions - 我们如何使用 Django-allauth 和lazysignup

我正在使用 Django-allauth 进行社交和简单的登录。我希望当尚未注册或未登录的用户列出项目候选名单时,当用户注册或登录时,候选名单仍然存在。所以我使用的是 Django-lazysignup。

现在,每次我没有使用 Facebook 登录时都会创建一个新的lazy_user,或者它给我一个“列 user_id 不是唯一的”错误。候选名单也没有转换。

我们如何将两者结合起来?或者我们如何在不使用lazysignup的情况下做到这一点?

对此的任何帮助都会很棒,谢谢!

0 投票
2 回答
14401 浏览

django - Django/Auth:注销清除会话数据?

我想知道auth.logout是否清除会话数据,或者我必须自己做。

像这样的东西...

谢谢!

0 投票
6 回答
44014 浏览

django - 如何在不注销的情况下清除所有会话变量

我正在尝试清除所有会话变量,但不注销当前用户。

这也会影响网站的其他用户吗?

0 投票
1 回答
858 浏览

django - 为什么在中间件中调用 logout() 不适用于当前请求?

我已经构建了一个小型自定义中间件来注销用户并有条件地刷新会话。我希望当前请求让用户注销。但是,对于当前正在处理的请求/响应,我仍然有完整的响应,就好像用户没有被注销并且会话完全可用(意外)。所有后续请求都不再有会话(如预期的那样)。

深入挖掘,SessionStore似乎会话只是一个模型,并且仅通过浏览器发送的 cookie 中的会话密钥在请求中进一步恢复。此外,这logout()似乎也因此无效。

我如何才能真正在中间件中注销用户?我必须手动从数据库中删除会话吗?这似乎太痛苦了。

myapp/middleware.py

settings.py

0 投票
2 回答
720 浏览

django - 使用会话存储来自匿名用户的数据

在我的 django 应用程序中,我有一个用户愿望清单功能。我希望匿名用户可以将产品添加到他的愿望清单中。

错误:无法分配“”:“User_Wishlist.created_by”必须是“用户”实例。

因此,它不能为匿名用户创建愿望清单。此外,如果我只执行 wl_user = User_Wishlist(),它无法在不分配用户 ID 的情况下访问 manytomany 字段“产品”。

对此的任何帮助都会很棒。谢谢!

ps:我也想在匿名用户注册后保存这个用户愿望清单,但那是以后的问题