Django.request не показывает синхронное промежуточное ПО, как советует документация
Я создал очень простое асинхронное представление, но оно не работает. В соответствии с инструкциями Django я хочу проверить, что проблема не в моем промежуточном ПО. В документации Django говорится, что логгер django.request покажет, какое промежуточное ПО не работает в асинхронном режиме. Ниже приведена цитата из официальной документации. Я настроил логгер django.request и он регистрирует ошибки 4xx или 5xx (как и ожидалось), но это все. Это ошибка в документации по Django?
https://docs.djangoproject.com/en/4.0/topics/async/
Вы получите преимущества полностью асинхронного стека запросов только в том случае, если на вашем сайте нет синхронного промежуточного ПО. Если есть синхронное промежуточное ПО, то Django должен использовать поток на запрос, чтобы безопасно эмулировать синхронную среду для него.
.Посредническое ПО может быть построено для поддержки как синхронных, так и асинхронных контекстов. Некоторые из промежуточных программ Django построены подобным образом, но не все. Чтобы узнать, какое промежуточное ПО Django адаптировано, вы можете включить отладочную регистрацию для логгера django.request и поискать в логе сообщения о "Synchronous middleware ... adapted".
settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'logs/debug.log',
},
},
'root': {
'handlers': ['console'],
'level': 'WARNING',
},
'loggers': {
'django.request': {
#'handlers': ['file','console'],
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
