суббота, 4 февраля 2017 г.

Django debug console

Как смотреть запросы которые поступают к Django бакэнду? Можно установить django-debug-toolbar, что я первым делом и сделал. Но я так и не смог увидеть приходящие POST/GET запросы (может требуется тонкая настройка?).

В результате сделал django middleware debug to console для вывода расширенных сообщений в консоль.

В settings.py добавляю:

MIDDLEWARE = [
    ...
    #debug request to console
    'back.views.ConsoleLoggingMiddleware'
]


И в back/views.py добавляю:

class ConsoleLoggingMiddleware(object):
    def __init__(self, get_response):
        self.get_response = get_response
        # One-time configuration and initialization.

    def __call__(self, request):
        # Code to be executed for each request before
        # the view (and later middleware) are called.
        print('----- Django debuger ConsoleLoggingMiddleware --------')
        #print('request.get_host() : ', request.get_host())
        #print('request.body : ', request.body)
        #print('request.scheme : ', request.scheme)
        #print('request.method : ', request.method)
        #print('request.POST : ', request.POST)
        #print('request.GET : ', request.GET)
        #print('request.COOKIES : ', request.COOKIES)
        #print('request.META :')
        #for item in request.META:
        #    print('    ', item, ': ', request.META[item])
        #print('request.FILES: ', request.FILES)

        response = self.get_response(request)

        # Code to be executed for each request/response after
        # the view is called.

        return response


Теперь я могу раскомментировать в классе ConsoleLoggingMiddleware любой запрос и увидеть информацию в консоли.

После того, как прошла debug console отладка и получена нужная информация для дальнейшей django разработки, лучше отключить (закомментировать)  в settings.py строку

#'back.views.ConsoleLoggingMiddleware'

Иначе, при разработке, будут присутствовать тормоза в запросах.

Комментариев нет:

Отправить комментарий

django-oscar tinymce 4 filebrowser

Задача: в дашборде django-oscar загружать изображения 1. Установка django-filebrowser-no-grappelli - Открываем проект, загружаем виртуа...