![]() |
1
30
我对保罗的方法有困难(见我对他的回答的评论),所以我最终使用了一个 scottbarnham.com blog post :
|
![]() |
2
11
注:格式自原始答案更改后,1.4及以上版本见以下更新。
[更新]
我真的不知道为什么要使用base64模块,我想是因为这个问题突出了它。
你只需使用
从用户源(cookie)加载pickled数据是一个安全风险,因此会话数据格式在回答此问题后发生了更改(我应该在Django的bug跟踪器中查找特定问题并将其链接到此处,但我的pomodoro中断已消失)。 现在的格式(从Django1.4开始)是“hash:json对象”,其中前40字节的hash是加密签名,其余的是json负载。现在您可以忽略散列(它允许检查数据是否被某个cookie黑客篡改)。
|
![]() |
3
3
|
![]() |
4
3
如果您想了解更多关于它的信息,并且知道编码或解码是如何工作的,那么有一些相关的代码。 顺便说一下,我使用的django版本是1.9.4。 django/contrib/sessions/backend/base.py
django/contrib/sessions/serializer.py
让我们集中讨论sessionbase的编码函数。
所以,解码是逆的。 我们可以在下面的代码中简化解码函数。
这就是session.get_decoded()所做的。 |
![]() |
5
0
我想用纯Python和最新版本的django(2.05)来实现这一点。我就是这样做的:
|
![]() |
Patrick Bond · 如何将模型中的函数结果添加到列表中? 7 月前 |
![]() |
bur · 每次从模板调用方法都会查询数据库吗? 7 月前 |
|
Stefan · 在子目录中设置Django 7 月前 |
![]() |
vale383 · 如何在Django端点中查找user_id 7 月前 |
![]() |
Kovy Jacob · Django在动态URL段中添加斜线 8 月前 |
![]() |
user987 · 如何在Django中访问提交的表单请求数据 8 月前 |
![]() |
user24242514 · 将嵌套查询字符串请求转换为字典 8 月前 |