現有的系統下,要增加一個日誌審計。
現有的環境: Django Mongodb 。
然後想直接用 logging 來處理日誌,但是要怎麼入庫呢?
看到網路上也有人討論 signals 來處理,這個區塊不是很熟,想問一下,只處理 views 可以嗎,因為現有的環境沒有 models 的處理。謝謝
黄舟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)