Ответ
Да, Django Debug Toolbar (DDT) может перехватывать и анализировать запросы, сделанные через Django REST Framework (DRF), но для этого требуется специальная конфигурация.
По умолчанию DDT ориентирован на стандартные Django views, которые рендерят HTML, и может не отображаться для AJAX/API запросов, возвращающих JSON.
Чтобы это исправить, необходимо явно указать DDT, что панель нужно показывать всегда. Это делается через настройку SHOW_TOOLBAR_CALLBACK в settings.py.
Пример конфигурации в settings.py:
# settings.py
# ... другие настройки
# Убедитесь, что 'debug_toolbar' есть в INSTALLED_APPS
# и 'debug_toolbar.middleware.DebugToolbarMiddleware' в MIDDLEWARE
# Добавляем эту конфигурацию
if DEBUG:
def show_toolbar(request):
# Показываем панель для всех запросов
return True
DEBUG_TOOLBAR_CONFIG = {
"SHOW_TOOLBAR_CALLBACK": show_toolbar,
}
Важно: Django Debug Toolbar не должен использоваться в production-окружении, так как он раскрывает чувствительную информацию о конфигурации проекта и может создавать уязвимости.
Ответ 18+ 🔞
Ага, слушай, вот эта штука — Django Debug Toolbar, она же DDT, в принципе может и с Django REST Framework работать, но тут есть нюанс, ёпта.
По дефолту эта панелька заточена под обычные вьюхи, которые HTML выдают. А когда ты через DRF JSON'ы гоняешь — она может просто игнориться, как будто её и нет, блядь. Панель не появляется, и ты сидишь такой: «Ну и где же мои запросы, сука?».
Чтобы её заставить работать, нужно в настройках settings.py кое-что подкрутить. А именно — функцию SHOW_TOOLBAR_CALLBACK прописать, которая будет говорить панели: «Да показывайся ты уже, блядь, на всех запросах, не будь тварью!».
Вот смотри, как это в settings.py делается:
# settings.py
# ... остальной код настроек
# Главное, чтобы 'debug_toolbar' был в INSTALLED_APPS
# и 'debug_toolbar.middleware.DebugToolbarMiddleware' в MIDDLEWARE
# А вот это — магический пендель для панели
if DEBUG:
def show_toolbar(request):
# Возвращаем True всегда, чтобы панель лезла везде, даже в API
return True
DEBUG_TOOLBAR_CONFIG = {
"SHOW_TOOLBAR_CALLBACK": show_toolbar,
}
И запомни раз и навсегда, как «Отче наш»: эту панель — ни в коем случае на продакшене не оставляй! Это же пиздец какой дырявый колхоз получится. Она будет светить всю твою внутреннюю кухню — базы данных, запросы, настройки — всем подряд. Любой проходимец сможет заглянуть тебе под капот, а потом и в сраку. Так что только для отладки на локальной машине, и точка.