2017-05-13 9 views
0

djangorestframeworkデコレータ使用時にajax関数をデバッグする方法。djangorestframeworkデコレータを使用しているときにdjango ajax関数をデバッグする方法はありますか?

@api_view(['POST', ]) 
def authfb(request): 
    require_more_data = True 
    if request.method == 'POST': 
     first_name = request.data['fb_first_name'] 
     last_name = request.data['fb_last_name'] 
     fb_picture = request.data['fb_picture'] 
     fb_friends_number = request.data['fb_friends_number'] 
     fb_username = request.data['fb_username'] 
     fb_id = int(request.data['fb_id']) 
     fb_link = request.data['fb_link'] 
     username = fb_username.replace(' ', '') 

     # print(username) 
     password = '112358' 
     user = auth.authenticate(username=username, password=password) 


    return Response(request.data) 

コードの例。 Djangoは、ajaxリクエストを介してビュー関数を呼び出すときにエラーを通知しません。これは、私が印刷を使用し、間違った行を手動で検索して、正確に何が間違っているのかまだ分かりません。それをデバッグする方法、いつものようにdjangoログのエラーを作る方法?

答えて

0

ajax関数のデバッグでは、ajaxエラーメソッドからコンソールに記録できるDjangoビューから応答データ(json形式のデータ、より透明なもの)を返すことをお勧めします。そして、普遍的な方法はいつもどんなリクエスト(印刷ステートメント、&ステートメントを除いて試してください)をデバッグするのに便利です。

私は経験豊富なコーダーと非常に簡単にデバッグすることができますので、簡単な例

def authfb(request): 
    if request.method == "POST": 
     msg = "Unknown error" 
     status = False 
     try: 
      #do something 
      msg = "Everything's​ Goood" 
      status = True 
     except Exception as e: 
      msg = str(e) 
    return JsonResponse ({'status':status, 'msg':msg, 'anything':'that_thing'}) 

が、これは私の提案で、他の多くのより良い方法があります。 私の意見では、デバッグのための正しい方法はありません。すべての方法がそれ自身の観点から正しい方法です。

あなたはあなたが探していたことを願っています。

+0

応答はOKですが、応答があります。私の場合、データまたは要求データ。しかし、それはジャンゴのデバッグに役立ちません。たとえば、モデルの新しいインスタンスを作成し、1つのフィールドが挿入されていない場合など –

+0

各フィールドが必要な場合は、モデルのメタフィールドのオプションであるnull以外の制約を追加すると、djangoのデバッグに役立ちます。 – zaidfazil

関連する問題