2017-05-12 10 views
0

Djangoにテンプレートをレンダリングする方法とJsonResponseを返す方法はありますか?DjangoリターンレンダリングテンプレートとJsonレスポンス

return render(request, 'exam_partial_comment.html', {'comments': comments, 'exam_id': exam}) 

イムので、私はアヤックス成功funtctionとのメッセージを表示することができますので、それは、exam_partial_comment.htmlレンダリングするでしょうJsonResponseまたはこのようなものでこれをcompineとも

JsonResponse({"message": message}) 

を返すようにしよう:

console.log(data.message) 
+1

サーバーからの各応答に特定のコンテンツタイプがあることはわかりますか?あなたは何を返すのですか? JSONまたはHTML? –

答えて

1

よく@nik_mに記載されています。あなたの応答では、htmlとjsonの両方を送信することはできません。また、Ajaxはテンプレートをレンダリングしません。けれども、あなたは

<div id="test"></div> 
<script> 
$(document).ready(function(){ 
    $.ajax({ 
     type: 'POST', 
     dataType: 'json', 
     url: '/view/', 
     data: data, 
     success: function(response) { 
      console.log(response.message); 
      $('#test').append(response.data); 
     } 
    }); 
}); 
</script> 

にHTMLでviews.py

def view_name(request): 
    if request.method == 'POST': 
     html = '<div>Hello World</div>' 
     return JsonResponse({"data": html, "message": "your message"}) 

で何をしたい

を達成したいと考えていますこのことができますが、このような何かを行うことができます。

関連する問題