net::ERR_CONTENT_LENGTH_MISMATCH в Django 1.10.2
После обновления с django 1.8 до 1.10.2 и локальной обработки большинства ошибок я получаю net::ERR_CONTENT_LENGTH_MISMATCH и net::ERR_EMPTY_RESPONSE при загрузке статических файлов в рабочей среде.
Все хорошо работает локально, когда отладка True. На производстве я получаю шаблоны, но статические файлы, на которые есть ссылки в шаблонах, не загружаются.
Все хорошо работало в 1.8.
Мы используем UWSGI в производстве. Я не уверен, что еще мы используем. но могу узнать, если это необходимо.
Кто-нибудь еще имеет дело с этим? кто-нибудь исправил?
Благодарю.
1 ответ
Начиная с Django 1.10, он больше не удаляет содержимое из ответов с кодом состояния HTTP204.
Обработчик WSGI больше не удаляет содержимое ответов из запросов HEAD или ответов с кодом состояния 100-199, 204 или 304. Большинство веб-серверов уже реализуют это поведение. К ответам, полученным с помощью тестового клиента Django, продолжают применяться эти "исправления ответов".
https://docs.djangoproject.com/en/1.10/releases/1.10/
Мой проблемный код был:
return Response({}, status=status.HTTP_204_NO_CONTENT)
И я изменился на:
return Response(status=status.HTTP_204_NO_CONTENT)