Решил я тут попробовать одно приложение, написанное на Django. По рекомендации разработчиков поставил его с помощью easy_install, поскольку в родных дебиановских пакетах его нет. Всё поставилось, зависимости проверились, отсутствующие питоновские модули автоматически вытянулись и тоже поставились. И в их числе новая версия Django: 1.5.1. Стоявшая до этого дебиановская версия Django для этого приложения оказалась старовата.
А у меня там уже стояло одно довольно редко используемое, но вполне себе работающее приложение на Django, и я пошёл проверить, не сломалось ли оно. Конечно же, оно сломалось. 500 Internal server error, в клиента вываливается соответствующая страница с ошибкой, а подробностей нигде нету. Только вот эта запись в логе, и всё:
[pid: 23778|app: 0|req: 1/1] 46.7.*.* () {38 vars in 587 bytes} [Sun Mar 31 15:38:28 2013] GET / => generated 1275 bytes in 299 msecs (HTTP/1.1 500) 1 headers in 78 bytes (1 switches on core 0)
Включил в settings.py режим отладки: DEBUG=True… Опаньки, ошибка пропала, всё работает. Выключил DEBUG — опять error 500.
И только после того, как я включил отсылку сообщений об ошибках по почте, обнаружилось, что добрые разработчики Django тоже оказались ненатуралами:
в новой версии Django появился новый параметр в настройках приложения:
# Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
ALLOWED_HOSTS = []
который почему-то требуется ТОЛЬКО при отключённом режиме отладки. То есть, пока отлаживаешь, всё работает, а как переведёшь в production, так оно и сломается..
Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.
Re: ну.. если ничего не работает - прочтите, наконец, инст
Re: ну.. если ничего не работает - прочтите, наконец, инст
а резон то, собсно - простой. убедиться в том (ну хоть как-то убедиться), что человек ответственно подошел к обновлению софта.
Re: ну.. если ничего не работает - прочтите, наконец, инст
А раскладывать грабли, которые внезапно пропадают при включении отладочного режима - ненатурализм.