Heim > Fragen und Antworten > Hauptteil
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
黄舟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)