Получение отладочной информации Django при использовании вызова Ajax? - PullRequest
6 голосов
/ 29 августа 2009

Есть ли хороший способ получить отладочную информацию, которую Django предоставляет при использовании jQuery для выполнения вызовов Ajax? Прямо сейчас, когда я звоню, я просто вижу ошибку сервера http / 200 в окне python runserver, но поскольку вызов выполняется через javascript, я не получаю страницу отладки со всей информацией.

Ответы [ 5 ]

3 голосов
/ 29 августа 2009

Вы можете проверить содержимое ответа, возвращенного на ваш jJuery-вызов ajax. Использование такого инструмента, как Firebug, может сделать это довольно легко.

Django по-прежнему возвращает страницу отладки, просто она отвечает на вызов ajax, а не на обычный запрос браузера.

Часто это хорошая техника, чтобы заставить ваши вещи работать с регулярными запросами, а затем «отрегулировать» их, только когда вы уверены, что код на стороне сервера работает.

1 голос
/ 13 ноября 2014

Когда вы получаете такую ​​ошибку AJAX, вы можете заменить содержимое текущего документа на документ отладки / ошибки, возвращенный с сервера. Например, вы можете сделать что-то вроде следующего:

$.ajax({
    url: 'failing_controller/',
    type: 'POST'
})
    .fail(function (jqXHR, textStatus, errorThrown) {
        document.open();
        document.write(jqXHR.responseText);
        document.close();
    })
    .success(function (data, textStatus, jqXHR) {
        // ... handle data ...
    });

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

1 голос
/ 29 августа 2009

Вы можете использовать этот фрагмент: http://www.djangosnippets.org/snippets/650/, чтобы получить обратные ссылки в виде открытого текста для просмотра в Firebug вместо HTML.

0 голосов
/ 29 января 2012

Попробуйте django_extensions + Werkzeug.

0 голосов
/ 29 августа 2009

Вероятно, самый простой способ - отключить отладку и полагаться на сообщения отладки электронной почты, которые отправляет Django. Однако это не часто практично, но работает.

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