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 отправит по электронной почте этим людям полную информацию об исключении.
Другие связанные материалы:
- Начало работы с Django Вход в систему за 5 минут
- "Глава 24: Ведение журнала: для чего оно вообще?" глава "Два совка Джанго"
Я понимаю, что это не дает вам ответа и не решает вашу проблему напрямую, но я надеюсь, что вы поняли мою точку зрения, спасибо.