Django в работе: set DEBUG = False вызывает `Ошибка сервера (500)`

Я знаю, что этот вопрос обсуждался. Но проблема сохраняется, и я остался без решения. Пожалуйста помоги.

Моя платформа: Ubuntu 14.04 LTS, Python 3.4, MySQL 5.5, Django 1.7, Nginx 1.4.6 и Gunicorn 19.1.1.

Когда я установил DEBUG = False на рабочем сервере мое приложение Django работает нормально, возможно, полдня. И после этого раздражает Server Error (500) всегда появляются для определенных функций, но не для каждой. Если я поверну DEBUG = True, все будет отлично.

Я тоже поставил ALLOWED_HOSTS = ['*'], Некоторые говорили, что это не должно быть дикой картой в производстве. Но мое приложение для общественности, как мне его настроить? Другие говорили, что это должно быть 'localhost', Но только localhost можно получить доступ к серверу? Зачем тогда производство?

Есть ли стандартное решение этой проблемы? Благодарю.

1 ответ

Решение

Ошибка 500 на производстве - это не то, о чем вы должны догадываться.

Вы должны точно знать, что, где и когда это происходит:

  • включить Django Logging и войти, войти, войти
  • задавать ADMINS настройка конфигурации и получение писем о критических ошибках

ADMINS

По умолчанию: () (пустой кортеж)

Кортеж, в котором перечислены люди, которые получают уведомления об ошибках кода. Когда DEBUG=False и представление вызывает исключение, Django отправит по электронной почте этим людям полную информацию об исключении.

Другие связанные материалы:

Я понимаю, что это не дает вам ответа и не решает вашу проблему напрямую, но я надеюсь, что вы поняли мою точку зрения, спасибо.

Другие вопросы по тегам