跟踪 Django 项目中点击特定 URL 的唯一用户

Tracking unique users hitting certain urls in Django project

在我的一个 Django 项目中,我想记录所有访问 Web 应用程序特定部分的唯一用户 ID。目前,此部分的唯一区别在于它的 url 模式是在单独的模块中编写的。

跟踪访问这些 url 模式的唯一身份用户的最佳方式是什么?尽可能无成本地(资源明智地)做到这一点就是我所说的 'best'。一个说明性的例子会很棒。

类似 google 分析的东西适合这项任务

但是,如果你想在 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 以生成关于用户 activity 的报告。

request.resolver_match.namespace包含被访问的命名空间url.

request.resolver_match.view_name 包含 url.

的全名