问题标签 [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 投票
3 回答
2308 浏览

django - Django SESSION_COOKIE_DOMAIN

我在 django 的 SESSION_COOKIE_DOMAIN 设置中看到了一些神秘的东西。

通常,当我将此设置为“.mydomain.net”时,它可以正常工作。但有时似乎没有设置 cookie,因为当我登录时,我在会话中不被记住,当我进入下一页时我成为 AnonymousUser。

在这些情况下,如果我更改我的设置文件以使 SESSION_COOKIE_DOMAIN 现在为 None 或“”,则站点行为将恢复正常。如果我将 SESSION_COOKIE_DOMAIN 改回 mydomain,问题就会再次出现。

有任何想法吗?这可能是设置中的静默失败吗?或者可能与我的服务器配置有关?还是我访问该站点的机器?

0 投票
3 回答
4186 浏览

django - Django 中间件确定会话中的用户组

我有一个使用 django.contrib.auth 但没有使用 Django 内置权限系统的应用程序。相反,视图具有 @login_required 装饰器,然后检查用户属于哪个组,并根据组在视图中遵循不同的代码执行分支。

一个用户只能属于一个组。

每次检查用户组似乎太多了,所以我正在尝试编写一个 Django 中间件,让我知道会话中的用户组。

看看下面的代码,我的中间件会像我想要的那样工作吗?

然后我打算在需要的地方检查 request.session['thegroup'] 。

需要您的建议和意见。如果以这种方式处理,会话是否安全?这会起作用吗?我是 Django、Python 和一般编程的新手。

谢谢。

0 投票
1 回答
3899 浏览

ajax - Django 会话持久但丢失数据

我已经工作了几个小时试图理解以下问题:我有一个用户发送 Ajax 请求以动态发送表单并记录提交时要阅读的表单数量增加了。为此,我使用request.session['editing_foo'] = { 'prefix_of_form_elements' : pkey }这样我可以将它们与数据库关联以进行保存和加载(-1 用于尚未保存的新表单)。

但是,当我使用以下代码(见底部)时,我得到以下奇怪的输出:

第一次点击:

第二次点击:

第三个要求:

到底他妈发生了什么?

非常感谢大家!

注意:这是上一个关于相同源代码的问题的后续。

0 投票
4 回答
32073 浏览

django - Django,具有多个域的 SESSION_COOKIE_DOMAIN

在 Django 中,我将 SESSION_COOKIE_DOMAIN 设置为我的域名。但我实际上想用两个不同的域名运行同一个站点。

设置 SESSION_COOKIE_DOMAIN 后,只有命名域允许用户登录。是否可以允许两个域都登录?

0 投票
2 回答
13362 浏览

django - Django,删除所有cookie

我想删除我域名下用户的所有 cookie。我知道logout()方法会删除会话,但似乎我的一些应用程序正在生成更多需要清理的 cookie。我怎样才能做到这一点?

0 投票
2 回答
347 浏览

django - Django,依赖会话

我或多或少地在会话上构建我的网站(特别是对于重定向用户等),我很好奇这是否是一种危险的做法。使用浏览器禁用 cookie 保存的用户的粗略百分比是多少?我愿意接受任何建议:)

谢谢

0 投票
1 回答
591 浏览

authentication - 使用 Django 会话从不同域进行身份验证的问题

我正在开发一个书签,它本质上为用户当前正在查看的网页添加了一个工具栏。要使用它,用户需要登录。

要登录用户,请单击“Singin”,它会显示包含用户名、密码等字段的标准表单。当用户成功登录时,他们可能会选择导航到不同的网站。当在另一个页面上时,他们 (a) 重新加载小书签 (b) 从服务器检索他们的会话 (c) 用户不需要再次登录。相当标准,我会想到的。

使用 Django 会话和 JQuery。

我在实现上述用例时遇到了麻烦。以下是我遇到的一些问题:

  1. 不允许跨域 POST AJAX 请求。用 JSONp 解决了这个问题。我怀疑这是一种非常安全的方法,但现在它有效。
  2. 我的服务器在 cookie 中返回会话 ID,但是当用户导航到不同的页面时,我真的不知道如何检索该会话 ID 以发送回我的服务器。我什至可以从我的 JavaScript 中读取第三方 cookie 吗?

我正在寻找一些关于实施上述用例的指导方针。理想情况下,我不想将用户重定向到另一个页面让他们登录。任何建议将不胜感激。

谢谢。

0 投票
1 回答
1193 浏览

python - 如何正确地对 Django 会话进行单元测试?

Django 会话的行为在“标准”视图代码和测试代码之间发生变化,从而不清楚如何为会话编写测试代码。谷歌搜索会产生关于这个问题的两个相关讨论:

  1. 测试客户端更轻松地操作会话

  2. test.Client.session.save() 为匿名用户引发错误

我很困惑,因为两张票都有不同的方法来处理这个问题,而且他们都被接受了。我认为这意味着它们已被修补,并且行为现在有所不同。我也不知道这些补丁属于哪个版本。

如果我在 Django 1.0 中编写单元测试,我将如何设置会话存储以使会话像在浏览器中一样工作?

0 投票
3 回答
2126 浏览

python - access django session from a decorator

I have a decorator that I use for my views @valid_session

I would like to access my session in my decoartor. When user is logged in, I put the username in my session.

0 投票
3 回答
462 浏览

php - 如何与 php 应用程序共享会话

我有一个 django 博客项目和一个 PHP 聊天。

我需要与 PHP 中的聊天共享登录 django 的用户的 ID( request.user.id )。

这可能吗 ?