Найти - Пользователи
Полная версия: middleware - непонятное поведение
Начало » Django » middleware - непонятное поведение
1
mks
Добрый день.
Вот начала разбираться с middleware и столкнулся со странностью в их работе.
Написал такой класс:
class my_middleware(object):
    def process_request(self, request):
        print 'process_request'
        return None
    def process_view(self, request, view_func, view_args, view_kwargs):
        print 'process_view'
        return None
    def process_template_response(self, request, response):
        print 'process_template_response'
        return response
    def process_response(self, request, response):
        print 'process_response'
        return response
    def process_exception(self, request, exception):
        print 'process_exception'
        return None
После загрузки страницы вижу такой вывод на консоль:
process_request
process_view
process_template_response
process_response
process_request
process_response
Получается что методы process_request и process_response вызываются по 2 раза, остальные по одному. После прочтения документации такое поведение кажется ошибочным, так ли это, или ошибаюсь я? Если это нормальное поведение, то не мог бы кто-нибудь объяснить для чего к примеру process_request вызывается дважды на один запрос?
Заранее спасибо.
Doberman26rus
Сделай так и сразу поймешь что к чему
        
    def process_request(self, request):
        print request.META['PATH_INFO']
        print 'process_request'
        return None
mks
Доберман, спасибо.
Действительно прояснилось, приходит ещё один запрос (/favicon.ico) который не виден в браузере, от этого ещё один вызов функций.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB