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

python - django 会话以防止用户多次投票

视图.py

错误

线

怀疑

我在使用变量字符串设置会话密钥时遇到问题,我应该如何在“餐厅”键中设置会话密钥“like”??请帮忙

0 投票
1 回答
422 浏览

django - 动态定义 Django 会话密钥

网址.py

视图.py

html

这里 rest.id = 1

怀疑

当我将“餐厅”键声明为字典时,我无法理解,当我单击“like”按钮时,它不会返回所有键,每次只返回一个键,例如当我单击 food_like 按钮时,它的返回关键 food_like 但是当我再次单击 service_like 按钮而不是返回所有 food_like 和服务就像它刚刚返回服务一样,请帮助。提前致谢

基本上我想要的是创建嵌套会话字典,例如。

0 投票
2 回答
11295 浏览

python - 在模板中使用 django 会话

我正在使用context_instance = RequestContext(request)该会话变量可用,同时呈现响应。我的模板:

我的视图会话密钥如下所示:

餐厅 ID在哪里restaurant,like 可以是“food_like”、“service_like”、“special_like”之一。

那么我应该如何在我的模板中访问它呢?例如,如果我使用

它肯定行不通。

0 投票
1 回答
1924 浏览

django - 在 django db + 基于缓存的会话上使用 django 签名的 cookie 会话的性能比较?

Django 1.4 提供了几种维护django 会话的方法:

我对使用的看法:

i) 仅缓存:不太可取,用户会话可能会从内存缓存中清除。

ii) Db + cache ( cached_db):优选、简单且安全的解决方案。

iii) 签名的 cookie 会话:最好,没有数据库命中。

假设会话数据非常小,即在 cookie 中存储它没有问题。在数据库 + 内存缓存驱动的会话引擎上使用签名 cookie 是否有任何性能优势?对于 N 个并发新用户,将保存 N 个数据库命中的顺序。这将减少数据库服务器每单位时间必须处理的总查询数。

更新:我们发现 redis 或 aerospike 是 django 真正强大且高吞吐量的会话后端。我们redis用作会话后端

0 投票
2 回答
3764 浏览

django - Django - 如何从模板访问会话状态

我想为索引页面上的每个帖子添加一个“编辑”链接。但在显示此链接之前;我需要检查会话是否已注册。我的意思是我需要这样的东西:

我 在模板上下文处理器上有django.core.context_processors.request 。

谢谢你

编辑 :

这是我的详细信息页面视图:

当我尝试这个时:

它给出了模板语法错误(渲染错误)

我试过这个:

这是错误:

0 投票
1 回答
1038 浏览

django - django - 尝试登录时出现 KeyError

当我尝试登录时,它显示:

只有当我使用正确的用户名和密码提交时,它才会显示此错误。所以我认为这是关于我的管理员视图..

这是我的登录视图:

并注销视图:

和管理员视图:

这是我的 urls.py:

0 投票
2 回答
1194 浏览

django - 在会话中保存表单集 - Django

这里有什么方法可以将表单集存储到会话中吗?


我的场景是这样的。我有一个表格来填写用户数据和上传用户证书,在下一页(点击下一步的表格)有一个表格可以输入专业详细信息。

是否可以限制使用表单集生成的表单的最大数量?

0 投票
1 回答
3455 浏览

django - 在 Django 中检测浏览器关闭时的用户注销

我们有一些数值计算的网络服务。它有一个注册模式,用户必须注册才能通过邮件发送结果。

我们想跟踪用户保持登录的时间。注册成功后,登录时间将写入数据库。注册不是永久的,它只是为了单次会话的目的,用于获取用户的电子邮件。

有几种情况可能:

用户通过注销按钮正常注销。 最简单的解决方案。在数据库中写入时间和注销,并删除会话。

用户在会话到期时注销。 我打算有一个脚本来检查所有没有设置注销时间的数据库条目,如果当前时间 - 登录时间 > 到期时间在数据库中写入注销时间作为登录时间 + 到期时间

用户通过浏览器关闭注销。 会话将 get_expire_at_browser_close() 设置为 True。但我不知道服务器如何检测浏览器关闭。

想法,批评者,评论?

0 投票
1 回答
1097 浏览

django - How to check session without creating new one?

In part of my application i have some custom settings for visitors. When user load page i try to check custom settings for request and if settings exist i do customization in page.

i do it in Template Context Processor

It's work perfect, but i have problem - each time, when i check session django create new entry in Session table if entry does not exist before.

How can i check session without creating new one?

Edit 1:

Then i disable checking for session key, i see what django does not create any Session entry for requests.

  1. I login as admin in 1st browser (chrome) and delete all session (except one for mydself)
  2. Edit context processor, so i don't access sessions in my project:

    show_help = True

  3. Open page in different browser (firefox)

  4. Switch to 1st browser and check if new session object is appear, but nothing has changed - only one session object exist.

Edit 2:

i use django 1.4.1

0 投票
1 回答
1177 浏览

django - 如何克服 Session.get_decoded 哈希检查?

对于 Django 会话,在某些情况下,存储在数据库中的编码会话数据无法使用django.contrib.sessions.models.Session'get_decoded方法进行解码,即它总是会返回一个空字典。

有没有办法解码这些数据?

它依赖于django.contrib.sessions.backends.base.SessionBase'sdecode方法,如果计算的哈希值与预期的哈希值不同(它会引发SuspiciousOperation异常),它将返回一个空字典。