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

python - 如何在 Django 测试框架中修改会话

我的网站允许个人在没有登录的情况下通过基于当前 session_key 创建用户来贡献内容

我想为我的视图设置一个测试,但似乎无法修改 request.session:

我想这样做:

但我得到了错误:

关于在发出获取请求之前如何修改客户端会话的想法?我已经看到,它似乎不起作用

0 投票
2 回答
1054 浏览

django - Django会话奇怪的行为:十进制的无效文字:'2011-01-04 09:36:59'错误

我在尝试从我的网络应用程序上的 django_session 表中检索会话内容时遇到此错误。我正在使用 request.session.get('mykey_name') django 执行的查询是:

s = Session.objects.get(session_key = self.session_key,expire_date__gt=datetime.datetime.now()

kwargs 是: {'expire_date__gt': datetime.datetime(2010, 12, 21, 14, 27, 6, 138883), 'session_key': '721c947a60432c3ac3bbdd485931c945'}

这是完整的回溯:

我使用的是 django 1.2.3 和 python 2.7,CentOS 下的数据库版本是 5.1.33-community。任何猜测为什么会发生这种情况?提前致谢!

0 投票
1 回答
4611 浏览

python - 使用 HttpResponseRedirect 在 Django 中传递错误

我知道 HttpResponseRedirect 只接受一个参数,一个 URL。但是在某些情况下,我想重定向并显示错误消息。

我正在阅读这篇文章:如何使用 HTTP 重定向(在 Django 中)传递信息,并且有很多很好的建议。我真的不想使用我不知道如何工作的库。我不想依赖消息,根据 Django 文档,这些消息将被删除。我考虑过使用会话。我也喜欢在 URL 中传递它的想法,例如:

然后有一些从错误代码到消息的映射。在这些错误消息中使用硬编码的全局类似地图的结构是一种好习惯,还是有更好的方法?

或者我应该只使用一个会话

编辑:我使用会话让它工作。把这样的事情放在会话中是一个好习惯吗?

0 投票
1 回答
4254 浏览

django - django - 当我使用链接返回同一页面时,由于某种原因会话未保存

在我的一个观点中,我正在保存一些这样的会话:

然后在同一个视图函数以及在其他应用程序上找到的其他视图上,我试图获取这样的会话值:

我希望“session_1”和“session_2”的值永不过期,并且在网站上的任何地方都可用(就像同一应用程序上的其他视图和其他应用程序上的视图一样)。

我的问题是,当我在同一页面/视图(如上所述)上刷新页面时,我在检索 session_1 和 session_2 值时遇到问题。但是,假设我转到另一个页面然后返回到原始页面,'session_1' 和 'session_2' 值就消失了。此外,“session_1”和“session_2”的值在任何其他页面/视图上均不可用。

我的 settings.py 上没有会话设置,因此会话的所有值都是默认值。

有什么想法为什么没有保存会话?谢谢!

0 投票
2 回答
3017 浏览

python - Django 会话:您可以检查会话数据并将其设置在同一视图中吗?

使用Django 会话时,查看会话数据之前是否已设置,如果没有设置初始会话数据,在同一视图中是否是一种好习惯?

如果用户禁用了 cookie,这会对我或用户造成重大问题吗?

测试 cookie的存在让我有点困惑。但是,如果您使用这些,您将无法记录有关用户最初查看的页面的数据。)


以下是我的 views.py 文件的摘录。在视图中,用户正在访问一个带有游戏的页面。

如果他们之前存储了会话数据——并且如果是第一次观看游戏——视图将修改会话数据以记录他们访问游戏的事实。如果他们没有会话数据,它将在此处为他们初始化。


因为这是我第一次使用 Django,所以我想知道我在使用会话时无意中犯了哪些明显的错误。

非常感谢您的专业知识和帮助:)


编辑:

所以只是检查一下:如果用户禁用了 cookie,这不会为他查看的每个页面在数据库中创建一个新的会话条目吗?正确的?

0 投票
5 回答
12017 浏览

python - Django,如何在管理界面中查看会话数据

我正在使用Django 会话,我想要一种在管理界面中查看会话数据的方法。这可能吗?

即对于每个会话,我想查看存储在会话数据库中的数据(就我所能收集的而言,它本质上是一个字典)。

目前我只能在该Session data字段中看到一个哈希,例如:


我已将以下内容放入 admin.py 以实现此目的:


特别是我希望能够看到每个会话的至少一个 IP 地址。(如果我可以计算每个 IP 地址的会话数并根据每个 IP 地址的总会话数对 IP 进行排序,那就太好了。)

感谢您的帮助 :-)

0 投票
1 回答
2140 浏览

django - django - 用户注销后存储会话值

logout当用户注销时使用 Django ,所有会话值都会被刷新。即使用户注销,我有办法保留一些会话值吗?

0 投票
2 回答
4833 浏览

python - 手动验证 django 会话 ID 当前已通过身份验证

我需要一个函数告诉我 Django session-id 当前是否经过身份验证。我知道这已经内置在 Django 中,并且我可以正常工作。

但是我有一个外部应用程序,它传递了一个会话 ID,当它把会话 ID 字符串传递回 Django 时,我需要验证这个会话 ID 是否有效并且当前已经过身份验证。

我从哪里开始重用 Django 1.2 的一些内置函数?

0 投票
2 回答
39766 浏览

django - Django:在同一视图中设置会话并获取会话密钥

我想在数据库中存储一些东西,并使用当前会话作为外键:来自 models.py

要为这个模型创建一个新条目,我使用以下内容来获取当前会话(在 views.py 中):

但是,如果这是用户第一次访问该站点,因此尚未设置 cookie,则上面的代码将产生DoesNotExist错误。


我知道即使现在设置了 cookie,您仍然可以设置会话对象。所以我可以想出一些技巧来完成这项工作,例如:

  • 将唯一标识符设置为会话对象(除了会话密钥)
  • 将我希望添加到数据库的数据临时存储为会话对象,并在使用会话之前使用装饰器函数检查它是否存在。
  • 只需使用会话对象而不在数据库中存储任何内容(这在技术上是可行的,但对于我的实现而言,它将依赖于 Python 字典 - 有几百个条目 - 至少与数据库一样高效,用于排序之类的事情。)


但我想要一个更好的解决方案,我可以忍受。这个问题有没有普遍使用或好的解决方案?还是我什至在我的模型中正确引用了会话?

感谢您的帮助。

0 投票
1 回答
634 浏览

django - 使用 Django 会话

我在实现 Django 会话时遇到了一些问题。我有一个员工列表页面,上面有一个过滤器选项。过滤是基于字段和在文本框中输入的文本完成的。过滤的用户显示在filter.html页面中;单击用户名会进入该用户的个人资料页面。现在我想返回显示已过滤用户的上一页(在员工个人资料页面中有一个后退按钮)(filter.html)。我想这可以通过会话来完成。但我不确定我使用会话的方式是否正确。请帮我解决这个问题,因为我是 Django 新手。将在这里发布我的代码:

过滤器.html

员工资料 html 页面

如果我提供的代码有很多错误,请帮助我更正它。