2017-11-19 15 views
0

WebSiteのパフォーマンスをテストしたい。私はDjangoプロジェクトを開発しましたが、私はまだDjangoの内部Webサーバーを使用しています。Djangoエラー:「HttpResponseオブジェクトを返さなかった」

ウェブサーバーから一定の時間間隔でデータを要求するページがあります。私はajaxでこれを行います。それは正常に動作しています。怒鳴るコード:Djangoのビューで

$.ajax({ 
    type: 'GET', 
    url: 'refresh', 
    success: function(data){ 
     //refresh the display data 
    } 
}); 

、プロセスコードとJsonResponseを返すには:

def refresh(request): 

    if request.is_ajax(): 
     reg = Registers.objects.latest('pk') 
     opmode = OperationMode.objects.latest('pk') 
     opdata = reg.serialize() 
     opdata['OpMode'] = opmode.OpMode 
     opdata['TrendStarted'] = opmode.TrendStarted 
     return JsonResponse(opdata,safe=False) 

質問です:私はSOAPUIでRESTリクエストでhttp://endpoint/operation/refereshを入力するとDjangoは返されます:「ビューをWebSite.operation.views.refreshはHttpResponseオブジェクトを返しませんでした。代わりにNoneを返しました。 "

返されたJSONResponseをDjangoから受け取りたいです。このリクエストをSOAPUIでどうやって作るのですか?

答えて

0

ジャンゴヘッドHTTP_X_REQUESTED_WITHでAJAXを識別するには、私はあなたのケースでヘッダが存在しないか、または他の値を持っていると思う、あなたがたとえば、あなたの関数に追加印刷でそれを確認することができますソースHttpRequest.is_ajax

に等しいXMLHttpRequest 外観です:

def refresh(request): 
    print (request.META.get('HTTP_X_REQUESTED_WITH')) 
    if request.is_ajax(): 
     # Your code here 
    else: 
     return JsonResponse({'message', 'wrong request'}) 
関連する問題