python - Django 下怎么做日志審查
問(wèn)題描述
現(xiàn)有的系統(tǒng)下,要增加一個(gè)日志審計(jì)。
現(xiàn)有的環(huán)境: Django+Mongodb 。
然后想直接用 logging 來(lái)處理日志,但是怎么入庫(kù)呢?
看到網(wǎng)上也有人討論 signals 來(lái)處理,這個(gè)塊不是很熟,想問(wèn)一下,只處理 views 可以嗎,因?yàn)楝F(xiàn)有的環(huán)境沒(méi)有 models 的處理。 謝謝
問(wèn)題解答
回答1:寫個(gè)裝飾器?如果沒(méi)有用到model的話
回答2:如果是想對(duì)models變化做logging,建議使用django-reversion。
更新:
你可以將用戶登入后讓他redirect到你用來(lái)記錄用戶登陸時(shí)間,ip,用戶名的view。再redirect到另一個(gè)view吧。
from ipware.ip import get_ipimport datetimeclass UserLoginLogView(View, LoginRequiredMixin): def get(self, request, pk):ip = get_ip(request)user = self.request.usertime = datetime.datetime.now()url = reverse(home)login_log = UserLoginLogModel.objects.create(user=user, ip=ip, time=time)return HttpResponseRedirect(url)
相關(guān)文章:
1. 淺談vue生命周期共有幾個(gè)階段?分別是什么?2. index.php錯(cuò)誤,求指點(diǎn)3. angular.js - angularjs ng-class指令改變ng-click點(diǎn)擊的class屬性失效4. android - recyclerview顯示錯(cuò)亂5. javascript - js中關(guān)于閉包的問(wèn)題,昨晚糾結(jié)到了現(xiàn)在,已經(jīng)快死了6. macos - mac下docker如何設(shè)置代理7. 為何java不易熱部署8. jquery插件開(kāi)發(fā)中css應(yīng)該放在哪?9. 微信公眾號(hào)在線生成二維碼帶參數(shù)怎么搞?10. 微信開(kāi)放平臺(tái) - android 微信支付后點(diǎn)完成按鈕,后回調(diào)打開(kāi)第三方頁(yè)面,屏幕閃動(dòng),求解決方法
