- en
- Language: ru
- Documentation version: 3
2.1.2 Примечания к выпуску¶
Channels 2.1.2 - это очередной релиз с исправлением ошибок в серии 2.1.
Отдельное спасибо участникам спринтов DjangoCon Europe, которые помогли с некоторыми из этих исправлений.
Основные изменения¶
Промежуточное ПО для сессий и аутентификации было переработано, чтобы сделать его неблокирующим. Ранее эти промежуточные программы потенциально выполняли доступ к базе данных или хранилищу сессий в синхронном конструкторе ASGI, что означало блокировку всего цикла событий.
Вместо этого они теперь модифицированы для добавления LazyObjects в область видимости в местах, где будет находиться сессия или пользователь, а затем, когда обработка проходит через свою асинхронную часть, доступ к этим хранилищам осуществляется неблокирующим образом.
Это должно быть незаметным изменением для конечных пользователей, но если вы увидите странное поведение или нерешенный LazyObject, дайте нам знать.
Исправления и небольшие изменения¶
AsyncHttpConsumer теперь имеет метод disconnect(), который можно переопределить, если вы хотите выполнять действия (например, выходить из групп), когда длительный HTTP-запрос отключается.
Контекст маршрутизации URL теперь включает аргументы по умолчанию из URLconf в ключ
url_route
контекста, наряду с захваченными аргументами/группами из шаблона URL.Параметр FORCE_SCRIPT_NAME теперь соблюдается в режиме ASGI, и позволяет вам переопределить, куда, по мнению Django, монтируется корневой URL вашего приложения.
ALLOWED_HOSTS теперь правильно устанавливается во время тестов LiveServerTests, что означает, что вы больше не будете получать ошибки
400 Bad Request
во время этих тестов.
Обратные несовместимые изменения¶
Нет.