gpt4 book ai didi

匿名用户的 Django session

转载 作者:行者123 更新时间:2023-12-04 08:42:41 25 4
gpt4 key购买 nike

我希望能够收集匿名和登录用户使用 web 应用程序的基本统计信息。

这里的共同点是使用 session ID,我可以为登录和注销的用户存储数据,并且仍然能够将存储的统计信息链接到给定的 session ( session 属于谁并不重要)。

但是,我在收集 session_key 时遇到了问题。 ,因为这在匿名用户进入站点时似乎没有设置(大概是因为 Django session 是 only saved when modified

当我使用登录用户测试 View 时:

def create(request, *args, **kwargs):
print request.session.session_key

对于登录用户, session_key被打印。对于注销的用户或匿名用户,这是 None .第一次向站点请求时, session 不存在,因此对 View 不可用。

我目前的计划是创建一个自定义中间件作为官方 session 中间件的子类,但覆盖 process_request()通过 session.save() 为没有 session 的人实例化 session .

我对这种方法唯一的担忧是我不确定它是否会对 Django 的其他部分产生不可预见的后果 - 人们有什么建议吗?

最佳答案

在过去的一个项目中,我做了你的建议,但只是在我需要使用的 View 中 session_key对于未经身份验证的访问者。它没有在我的项目中引起任何问题:

if not request.session or not request.session.session_key:
request.session.save()

# request.session.session_key now set

关于匿名用户的 Django session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32458657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com