Heim  >  Fragen und Antworten  >  Hauptteil

python – So führen Sie eine Protokollüberprüfung unter Django durch

Unter dem bestehenden System muss eine Protokollprüfung hinzugefügt werden.

Vorhandene Umgebung: Django+Mongodb.

Dann möchte ich die Protokollierung direkt verwenden, um Protokolle zu verarbeiten, aber wie speichere ich sie in der Datenbank?

Ich habe einige Leute gesehen, die im Internet über die Signalverarbeitung diskutiert haben. Ich bin mit diesem Block nicht sehr vertraut. Ich würde gerne fragen, ob es in Ordnung ist, nur Ansichten zu verarbeiten, da die vorhandene Umgebung keine Modellverarbeitung bietet. Danke

高洛峰高洛峰2683 Tage vor695

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-18 11:01:11

    写个装饰器?如果没有用到model的话

    Antwort
    0
  • 黄舟

    黄舟2017-05-18 11:01:11

    如果是想对models变化做logging,建议使用django-reversion。

    更新:

    你可以将用户登入后让他redirect到你用来记录用户登陆时间,ip,用户名的view。再redirect到另一个view吧。

    from ipware.ip import get_ip
    import datetime
    
    class UserLoginLogView(View, LoginRequiredMixin):
    
    
        def get(self, request, pk):
            ip = get_ip(request)
            user = self.request.user
            time = datetime.datetime.now()
            url = reverse(home)
            login_log = UserLoginLogModel.objects.create(user=user, ip=ip, time=time)
            return HttpResponseRedirect(url)

    Antwort
    0
  • StornierenAntwort