Как отладить внутренние ошибки сервера в Eclipse при кодировании проекта Django?

У меня много проблем с отладкой AJAX-представления. Это представление, которое ожидает почтовый запрос, а затем возвращает объект json. Это вызывает внутреннюю ошибку 500, но затмение не дает больше информации. Доступ к стандартной странице отладки невозможен, потому что представление перенаправляется, если нет данных поста.

Каков наилучший подход к решению этих проблем? Могу ли я заставить eclipse/pydev просто сказать мне, что именно является внутренней ошибкой 500? Или мне действительно нужно получить плагин для браузера и создать данные POST? (Что может быть затруднительно, потому что происходит загрузка файла.)

По сути, я ищу способ получить сообщение об исключении в консоли. В настоящее время это просто говорит:

[16/Feb/2015 17:38:03] "POST /fotos/upload/ HTTP/1.1" 500 10907

Что не очень помогает.

Важно: Этот вопрос о том, как упростить отладку, а не об исправлении этого конкретного представления. Поэтому нет необходимости запрашивать код или лог-файлы этого представления. Это общий вопрос о том, как идти вперед.

Спасибо за ваше время!

2 ответа

Установите точку останова (щелкните слева от линии или просто нажмите кнопку "Добавить точку останова"). Как только исходный код достигает точки, открывается меню отладки, содержащее:

  1. Переменные и их значения
  2. -Все ваши точки останова

Внутренние ошибки сервера могут быть сгенерированы разными способами. Одним из наиболее известных способов является наличие синтаксической ошибки в коде сервера. Синтаксическая ошибка может варьироваться от опечаток до неправильного отступа (в Python). Попробуйте отладить ваш код Python. Попытайтесь найти точку ошибки и посмотреть, есть ли ошибка или ошибка отступа, например, использование табуляции вместо пробелов (или наоборот).

Кроме того, если вы запускаете Django в режиме отладки, откройте ссылку с сообщением об ошибке в браузере, и она напрямую покажет вам, есть ли какие-либо ошибки времени компиляции в коде.

РЕДАКТИРОВАТЬ: И я полностью пропустил ту часть, где вы упомянули, что "стандартная страница отладки не может быть получен доступ". Ну, в этом случае я бы прибегнул к использованию стандартных операторов печати для отладки и проверил журналы сервера на предмет ошибки.

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