在我的Django项目中,我想记录访问Web应用程序某个部分的所有唯一用户ID。目前,本节唯一的区别特征是它的url模式是在一个单独的模块中编写的。
跟踪访问这些网址模式的唯一身份用户的最佳方式是什么?尽可能以无成本(资源明智)的方式做到这就是我所说的最好的'。一个说明性的例子会很棒。
答案 0 :(得分:2)
像谷歌分析这样的东西适合这项任务
但是,如果您希望自己在Django中实现某些功能,我建议使用以下内容
class TrackUniqueVisitsMiddleware(object):
def process_request(self, request):
if not request.user.is_authenticated:
return
if request.resolver_match.namespace in settings.NAMESPACES_TO_TRACK:
UniqueUserVisit.objects.get_or_create(
user=request.user,
namespace=request.resolver_match.namespace,
view_name=request.resolver_match.view_name
)
其中UniqueUserVisit
是存储用户访问过的所有唯一视图的模型。然后可以查询UniqueUserVisit
以生成有关用户活动的报告。
request.resolver_match.namespace
包含已访问网址的命名空间。
request.resolver_match.view_name
包含网址的全名。