2009-08-29 5 views
6

Ajax 호출을 위해 jQuery를 사용할 때 장고가 제공하는 디버그 정보를 얻는 좋은 방법이 있습니까? 지금 전화를 걸면 파이썬 runserver 창에서 http/200 서버 오류가 발생하지만 javascript를 통해 호출되기 때문에 모든 정보가 포함 된 디버그 페이지가 표시되지 않습니다.Ajax 호출을 사용할 때 장고 디버그 정보를 얻으시겠습니까?

답변

3

jQuery ajax 호출에 리턴 된 응답 내용을 조사 할 수 있습니다. Firebug와 같은 도구를 사용하면이 작업을 매우 쉽게 할 수 있습니다.

장고는 여전히 디버그 페이지를 반환합니다. 일반 브라우저 요청이 아닌 ajax 호출에 응답하는 것입니다.

정기적 인 요청을 처리하고 서버 측 코드가 작동하는지 확인한 후에 만 ​​"ajaxify"하는 것이 좋은 기술입니다.

+0

HTML 형식이 모두 해석되어 불쾌한 점이 있습니다. 내 생각에 div로 그냥로드 할 수있을 것 같아요 ... – victor

+2

실제로 Firebug는 반환 된 HTML을 Firefox에서 새 탭으로 열어 적절한 형식으로 볼 수 있습니다. –

+0

아하, 그거 할거야! – victor

0

아마도 가장 간단한 방법은 디버그를 끄고 장고가 보내는 이메일 디버그 메시지에 의존하는 것입니다. 그러나 이것은 종종 실용적이지는 않지만 작동합니다.

0

django_extensions + Werkzeug를 사용해보세요.

1

이와 같은 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 ... 
    }); 

는 개발 및 디버깅하는 동안 정말 도움이 될 수 있습니다. 프로덕션 환경에서 오류 처리기를 더 적절한 것으로 바꿔야 할 것입니다.

관련 문제