Как отслеживать запросы, генерируемые Django

Python Middle Без компании
Как отслеживать запросы, генерируемые Django
Ответы
Для отслеживания запросов в Django можно использовать несколько подходов: - **Логирование SQL-запросов** Добавьте в `settings.py`: ``` LOGGING = { 'version': 1, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'level': 'DEBUG', 'handlers': ['console'], } } } ``` - **Django Debug Toolbar** Установите пакет и добавьте в `settings.py`: ``` INSTALLED_APPS += ['debug_toolbar'] MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware'] INTERNAL_IPS = ['127.0.0.1'] ``` - **Сигналы** Можно подключиться к сигналу `connection_created`: ``` from django.db.backends.signals import connection_created from django.dispatch import receiver @receiver(connection_created) def log_queries(sender, connection, **kwargs): print(connection.queries) ``` - **Middleware** Создайте кастомное middleware для логирования: ``` class QueryLoggerMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): response = self.get_response(request) from django.db import connection print(f"Total queries: {len(connection.queries)}") return response ```