我有一個自定義的中間件,每次請求調用兩次,我不明白爲什麼。 這是我的中間件:Django:自定義中間件被調用兩次
class MyMiddleWare(object):
def process_request(self, request):
print 'FOO'
return None
這是我的中間件設置:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'MyMiddleware',
)
而且這是在控制檯輸出網頁請求後:
[28/Jun/2013 19:48:26] FOO
[28/Jun/2013 19:48:26] "GET/HTTP/1.1" 200 7468
[28/Jun/2013 19:48:27] FOO
我試圖註釋掉所有其他中間件和問題都是一樣的。我該怎麼辦?
PS:所描述的行爲在每個視圖
UPDATE複製:
我試圖執行process_view
,而不是process_request
,它被稱爲一旦如預期......爲什麼?
更新2:
process_response
就像process_request
UDATE 3叫了兩聲:
OOOOH shiiiit!這是一個favicon.ico(我沒有定義自己)的請求......誰在調用這個文件?
它根據請求類型調用一次。頁面中是否存在ajax請求? – karthikr
當然,這只是一個請求,你可能沒有通過'runserver'或類似的東西來提供靜態文件? –
我正在使用開發服務器沒有重新加載,並沒有ajax請求...我試圖實現process_view而不是process_request,它被調用一次,如預期...我不明白:/ – daveoncode