1

私はそれを知っています例えば:

def home(request):
    if request.method == 'POST':
        k = 'p' % 1
        return HttpResponse(simplejson.dumps(dict()),  mimetype='application/javascript')
    else:
        k = 'p' % 1
        return render_to_response('index.html',locals());

url(r'^$', 'app.home'),

ブラウザを使用してホームページにアクセスすると、djangoはデバッグページを返し、エラーがあることを示します。k = 'p' % 1

しかし、を使用し$.ajax()てこのビューに投稿を送信すると、Chromeのコンソールには表示されるだけですPOST http://(some url here):8000/ 500 (INTERNAL SERVER ERROR)

では、2番目のケースをデバッグする良い方法はありますか?djangoをデバッグする方法がわかりませんが、djangoをデバッグするためのより良い方法はありますか?

ありがとう

4

3 に答える 3

1

歩哨(および対応するカラス)を見てください

Networkタブには、リクエストと対応するレスポンスが表示されるはずです。リクエストがajaxの場合、新しいdjangoバージョンでは、スタックトレースのより基本的なバージョンが提供されると思います)

于 2013-01-05T11:57:00.220 に答える
0

error CallBackin ajaxがあります。実際のエラーが吐き出されます。

$.ajax({
        type: 'POST',
        url: '{% url 'url_name_for_your_view_here' %}',
        data: {'csrfmiddlewaretoken': '{{csrf_token}}'},
        dataType: "text",
        success: function(response) {
            //do something here if everything goes well
        },
        error: function(rs, e) {
            alert(rs.responseText); //throw actual error, just for debugging purpose
            alert('Oops! something went worng..'); // alert user that something goes wrong
         }
     });
于 2013-01-05T12:09:31.633 に答える
0

Ajax のデバッグを容易にするサードパーティ製アプリが多数あります。私は過去にこれを使用して成功しました: https://github.com/yaniv-aknin/django-ajaxerrors

または、アプリを使用したくない場合は、次のスレッドで提案されているように、Chrome 開発者ツールで十分でしょう: Django: Are there any tools/tricks to use on debugging AJAX response?

于 2013-01-05T16:37:46.843 に答える