Встречается на собеседованиях • сегодня
Как отслеживать запросы, генерируемые Django
Для отслеживания запросов в Django можно использовать несколько подходов:
- Логирование SQL-запросов
Добавьте вsettings.py:
python
LOGGING = {
'version': 1,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'level': 'DEBUG',
'handlers': ['console'],
}
}
}- Django Debug Toolbar
Установите пакет и добавьте вsettings.py:
python
INSTALLED_APPS += ['debug_toolbar']
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware']
INTERNAL_IPS = ['127.0.0.1']- Сигналы
Можно подключиться к сигналуconnection_created:
python
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 для логирования:
python
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
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы