Django實(shí)現(xiàn)的自定義訪問日志模塊示例
本文實(shí)例講述了Django實(shí)現(xiàn)的自定義訪問日志模塊。分享給大家供大家參考,具體如下:
在Django默認(rèn)沒有訪問日志模塊,但是我們可以通過Django的Middleware來實(shí)現(xiàn)一個(gè)自己的訪問日志模塊。
首先在Django的工程下創(chuàng)建一個(gè)middleware.py文件,內(nèi)容如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
class AccessMiddleware(object):
def process_request(self, request):
meta = request.META
print "[%s] PATH_INFO=%s, REMOTE_ADDR=%s, HTTP_USER_AGENT=%s" \
%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
meta['PATH_INFO'], meta['REMOTE_ADDR'], meta['HTTP_USER_AGENT'])
return None
def process_response(self, request, response):
return response
其中 process_request() 應(yīng)當(dāng)返回 None 或 HttpResponse 對(duì)象。
如果返回 None , Django將繼續(xù)處理這個(gè) request , 執(zhí)行后續(xù)的中間件, 然后調(diào)用相應(yīng)的view.
如果返回 HttpResponse 對(duì)象, Django 將不再執(zhí)行 任何 其它的中間件(不論種類)以及相應(yīng)的view. Django將立即返回該 HttpResponse .
然后修改settings.py文件,在MIDDLEWARE_CLASSES部分加入上面創(chuàng)建的AccessMiddleware,比如:(見最后面一行)
MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'commons.middleware.AccessMiddleware', )
重啟服務(wù),然后再訪問任意一個(gè)頁(yè)面就會(huì)看到有日志輸出了。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日志操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
pyTorch深入學(xué)習(xí)梯度和Linear Regression實(shí)現(xiàn)
這篇文章主要介紹了pyTorch深入學(xué)習(xí),實(shí)現(xiàn)梯度和Linear Regression,文中呈現(xiàn)了詳細(xì)的示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
使用python的turtle函數(shù)繪制一個(gè)滑稽表情
Turtle庫(kù)是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫(kù),今天通過實(shí)例代碼給大家分享使用python的turtle函數(shù)繪制一個(gè)滑稽表情,一起看看吧2020-02-02
在python中獲取div的文本內(nèi)容并和想定結(jié)果進(jìn)行對(duì)比詳解
今天小編就為大家分享一篇在python中獲取div的文本內(nèi)容并和想定結(jié)果進(jìn)行對(duì)比詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python 獲取div標(biāo)簽中的文字實(shí)例
今天小編就為大家分享一篇Python 獲取div標(biāo)簽中的文字實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python爬取網(wǎng)頁(yè)轉(zhuǎn)換為PDF文件
這篇文章主要為大家詳細(xì)介紹了python爬取網(wǎng)頁(yè)轉(zhuǎn)換為PDF文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
python實(shí)現(xiàn)封裝得到virustotal掃描結(jié)果
這篇文章主要介紹了python實(shí)現(xiàn)封裝得到virustotal掃描結(jié)果的方法,是比較實(shí)用的技巧,可將掃描結(jié)果寫入數(shù)據(jù)庫(kù),需要的朋友可以參考下2014-10-10
Opencv Python實(shí)現(xiàn)兩幅圖像匹配
這篇文章主要為大家詳細(xì)介紹了Opencv Python實(shí)現(xiàn)兩幅圖像匹配,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

