Django:中间件制作更多条目

时间:2012-08-13 19:25:39

标签: python django middleware

class Middleware:

    def process_request(self, request):
        #ipreq(self)
        ip = request.META['HTTP_X_FORWARDED_FOR']
        make_entry(ip)

    def make_entry(self, ip):
        p = Logging_protocol.objects.create(proto = ip)

        p.save()

这是我的中间件类中的代码。问题是它在登录时在表格中输入两个条目,也在登出时输入。我想在用户登录时记录IP一次。它还在从特定IP加载页面时进行输入

1 个答案:

答案 0 :(得分:0)

请注意,中间件会对每个请求进行操作。因此,您应该记录每个请求的代码,而不仅仅是登录/注销。

您可能希望查看事件框架以仅响应登录和注销。

此外,你应该使用新式的类。