Django сломал трубу при отображении большого количества статического контента? - PullRequest
0 голосов
/ 04 ноября 2011

Я работаю в режиме отладки Django. У меня есть вид Django, который отображает много изображений, например 1000. Ранее я отправлял следующий ответ Django для каждого изображения:

django.http.HttpResponseRedirect("/static/thumbs/%s" % thumbnail_filename(url))

т.е. Я перенаправлял на Django обслуживание статических файлов. Страница загрузится, и затем начнут перетекать изображения.

Я переключился на статическое обслуживание файлов (все еще в режиме отладки), используя статическое приложение Django. Теперь журнал runserver показывает, что изображения загружаются гораздо быстрее, но через несколько секунд появляется следующая ошибка:

self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

В браузере я вижу сообщение об ошибке Chrome "Aw, Snap!".

Как мне устранить эту ошибку?

1 Ответ

0 голосов
/ 12 февраля 2016

Я недавно столкнулся с этой проблемой.Django не должен возвращать статические файлы в производство.В конфигурации Django по умолчанию предполагается, что статические файлы обслуживаются выделенным сервером веб-сервера (например, Nginx, Apache и т. Д.) Перед Django.

Чтобы иметь возможность обслуживать статические файлы с помощью Django, Django имеет возможностьиспользуйте приложение под названием django.contrib.staticfiles, которое должно быть включено в настройку INSTALLED_APPS .

По умолчанию INSTALLED_APPS = [], поэтому вам придется добавить его вручную, например:

INSTALLED_APPS = [ django.contrib.staticfiles ]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...