创建用户访问的所有页面的日志

时间:2016-08-29 08:44:09

标签: python django

我正在使用我的Django应用程序创建此功能。我想记录用户访问的所有页面并将其显示给他。

我正在使用中间件来实现它。

class LoggingMiddleware:
    """
    Class used to register and fetch pages where the user has been visiting.
    """
    def process_template_response(self, request, response):

        if request.user.is_authenticated():
            UserHistory.objects.create(user=request.user, page_name=request.path, url=request.path)

            if response.context_data:
                response.context_data['user_history'] = UserHistory.objects.filter(user=request.user)

        return response

我想在数据库中命名这些UserHistory条目,而不是仅仅将url设置为名称(就像我现在一样)。 我有一个变量添加到我拥有的所有视图,以request对象具有类似request.page_name的方式。

有人可以想出更好的方法吗?

0 个答案:

没有答案