如何为django中的每个匿名用户提供一些唯一的ID

时间:2015-05-18 07:53:00

标签: python django authentication

我想创建一个表(postgres),用于存储有关哪些用户查看了哪些项目的数据。经过身份验证的用户没有问题,但我如何告诉其他匿名用户的匿名用户?这是分析目的所必需的。

可能将其IP地址存储为唯一ID吗?我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

我认为你应该使用cookies。

当未经过身份验证的用户发出请求时,请查找名为whatever的cookie(在本例中为“nonuserid”)。如果cookie不存在,则表示它是新用户,因此您应该使用随机ID设置cookie。如果它存在,您可以使用其中的ID来标识匿名用户。

答案 1 :(得分:1)

选项1

使用IP地址。结帐this answer。无需将IP写入会话,因为您可以在收到请求时始终获取客户端IP。

选项2

uuid生成USER_ID的唯一ID。并使用给定名称在会话中设置ID,假设为USER_ID

当您收到用户的请求时,请检查会话中的user id visit page X是否正确。如果是,请读取它的值并将记录写入数据库,如<div ng-controller="MyCtrl"> <collapsible-div title="Open Me"> <canvas id="myCanvas"></span> </collapsible-div> </div> 。如果没有,请生成并设置。

相关问题