问题标签 [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 回答
112 浏览

django - 用户登录后如何在 django 中管理会话(不使用默认管理员)?

我在 Django 中建立了一个论坛,我想在用户发布内容时管理用户会话并检查他们自己的帖子上的评论。此外,特定用户应收到有关其帖子上的任何活动的通知。

0 投票
1 回答
1073 浏览

django - MongoDB 作为 Django 的会话后端

在 Django 中使用 MongoDB 作为会话后端有什么好的包吗?

芒果看起来过时了。
django-sessionbackend-mongodb不是 pip 可安装且未记录的。

还有 MongoEngine 应该可以很好地工作,但在我的情况下它是矫枉过正的。

还有其他好的选择吗?

0 投票
1 回答
1475 浏览

python - Django 会话在 Firefox 中不起作用

我有一个搜索视图,可以在会话中保存一些数据以供另一个视图使用:

当我使用 Chrome 时,一切都很好。但是当我使用 Firefox 时,它第一次运行良好,但之后每次搜索都会返回我的第一个结果!第一次之后似乎request.session没有改变。我试图用 删除会话del request.session['data'],但这没有用。

我的会话后端是一个数据库,但 Firefox 制作了一个会话 cookie。

0 投票
2 回答
1369 浏览

django - django 会话的棘手问题:有时会删除会话信息

我的应用程序中的 django 会话有一个奇怪的错误:有时(大约 10 次,每天约 20000 次)用户的会话信息被删除。我通过日志文件对其进行了跟踪:在页面 A 有用户会话的信息,在他提交表单之后,在下一页他的会话为空。我尝试了两种类型的存储:memcached+db 和 db only,这个问题是针对它们的。我试图重现这些场景,但正如我所说,一切都按预期工作,这种情况非常罕见。我还检查了不同用户是否存在此问题,并且对于他们而言,每次都不会重现。我不知道如何找出根本原因,也不知道这里还有什么描述。如果有人有任何想法,请告诉我。如果它很重要,我正在使用 django 1.2 + FastCGI 运行我的应用程序。谢谢!

UPD:我检查并看到使用的会话密钥在两个连续请求期间没有更改,第一次请求有一个实际的会话状态,第二个会话变量被替换为空。

0 投票
1 回答
2339 浏览

django - 使用 Django 会话存储登录用户

我正在创建一个以 REST 为中心的应用程序,它将对大多数特定领域的模型使用某种 NoSQL 数据存储。对于我打算围绕 REST 数据框架构建的主站点,我仍然想为用户、计费信息和其他域数据模型范围之外的元数据使用传统的关系数据库。

我被告知,如果我可以尽可能避免对同一请求同时对 RDBMS 和 NoSQL 数据存储执行 I/O,则这种方法是一个好主意。

我的问题:

  1. 这是个好建议吗?(我假设是这样,但如果第一个前提是错误的,那么剩下的这些问题都是无用的。)
  2. 我想尽可能多地缓存至少登录的用户。是否可以使用 Django 会话以安全、可靠正确和容错的方式执行此操作?理想情况下,我希望会话 API 成为一个安全的、直接的替代品,以尽可能少地与用户表交互来检索当前用户。我需要做哪些跑腿工作才能把所有东西都连接起来?
  3. 如果这最终太麻烦,那么在不使用 django-nonrel 的情况下将用户信息存储在 NoSQL 存储中(即完全消除 RDBMS)有多容易?自定义身份验证/授权后端可以做到这一点吗?
0 投票
1 回答
153 浏览

django - 依赖会话变量的 Django 视图的后备

我有一个看起来像这样的视图:

现在,我正在使用会话变量“ciudad”来过滤我的查询。在我网站的主页上,我让用户设置他们的“ciudad”,一旦设置好,我将他们重定向到另一个页面,他们可以开始根据他们的城市(“ciudad”)查看内容。

我的主页检查会话是否有项目:

现在让我们假设由于某种原因,用户删除了他的 cookie,并且在他访问的网站上,他访问了一个与主页不同的 url(例如 www.site.com/cartelera),然后他会收到一个错误,因为会话变量“ciudad”没有设置.

有没有办法为这个会话变量创建一个默认值,以防它没有被设置?或者什么是处理这个问题的好习惯?

0 投票
0 回答
102 浏览

django - 为不同的用户设置 Django 登录以不同的方式过期

我找到了 SESSION_COOKIE_AGE 和类似的设置,但它们是全局的。是否可以根据不同的用户类型告诉 django 的身份验证模块以不同的方式过期登录?那么,例如,超级用户是否会在一周内到期,而普通用户会在 6 小时(或浏览器关闭时)到期?

我发现它似乎唯一可行的方法是在会话中设置到期时间:

request.session.set_expiry(值)

但是让用户过期似乎不起作用,只是为了摆脱会话数据。

0 投票
1 回答
909 浏览

django - 使用 django-social-auth 在浏览器关闭时强制会话到期

当使用 FB/Google 登录到我的网站的用户关闭浏览器时,我正在寻找一种强制重新登录的方法。我正在阅读https://django-social-auth.readthedocs.org/en/latest/configuration.html,但我不认为:

或者

真的做了我想要的。我尝试以这种方式添加自定义管道,将到期时间设置为 0 作为管道中的最后一件事:

但它似乎没有生效。环境

也没有效果。

在类似的说明中,我的网站还允许用户“以传统方式”登录,并且我能够拥有

在那里做伎俩,用户在关闭浏览器时被迫登录。只是不适用于 FB/Google 登录。

有什么想法吗?

谢谢!

编辑:

如果我去玩弄:

并强制它返回 0,我的问题得到解决。

但这很糟糕,糟糕的黑客行为。有没有更好、更优雅的方式?谢谢!

0 投票
1 回答
43 浏览

python - 提交表单时出错

可能重复:
在表单提交时更新条目而不是保存新条目

我正在编辑表单并提交它,但它没有得到更新,而是存储在另一个条目中。

我收到此错误:

local variable 'task' referenced before assignment

0 投票
1 回答
84 浏览

django - Django:向模板发送请求是否存在安全风险?

有时我希望使用请求中的多个变量,而其他时候我不使用任何变量。让每个模板都可以使用请求变量可能会带来哪些安全风险(如果有的话)?