2016-07-24 23 views
1

外部サーバーからHttpResponceを処理するにはどうすればよいですか?Django、外部サーバーからの応答

アイデアは、私はJSONデータをサーバーからの私が取得しています応答した後、外部サーバに

(例えば、検索データ{'keyword': keyword, 'limit':limit, 'db':db}

response = requests.post(url, json = userupload, headers=headers)

をJSONデータを送信することである

return HttpResponse(response)

これは画面に表示されますが、ユーザーのための良い見解ではないと思う...

私はどのようにこのデータを適切なhtmlテーブルに追加できますか? (最良の選択肢は、同じページに印刷できるかどうかです)

+0

あなたは "中間の男"が必要な理由javascriptを使用しないでください?私はあなたが何を達成したいのかよく分かっていませんが、これはhttp://docs.python-requests.orgが役に立ちますか? – Eska

答えて

2

私が正しく理解している場合は、JSON形式の投稿要求の出力をHTMLファイルにレンダリングします。

は、これを行うテンプレートにビューからJSONでエンコードされたオブジェクトを渡す:

views.py:

import json 

def myview(request): 
    obj = requests.post(url, json = userupload, headers=headers) 
    return render_to_response("template.html", {"obj_as_json": json.dumps(obj.json())}) 

template.html:

<html> 
    <head> 
    <script type="text/javascript"> 
    var obj = {{ obj_as_json }}; 
    </script> 
    </head> 
    ... 
</html> 
1

https://docs.djangoproject.com/en/1.9/intro/tutorial03/ djangoチュートリアルでは、htmlとコンテキストデータを使ってレスポンスをレンダリングする方法を学習します。

あなたがrequestsを使用している場合は、次のように行うことができます:JSON APIの持つ大きなadvantegesの

response = requests.api.post(... 
context = json.loads(response.json()) 
return render(request, 'index.html', context) 

一つあなたはJavaScriptで非同期的にアクセスできることです。 json APIからのデータを操作するためにデータベースを呼び出さずに応答をレンダリングしたい場合は、それを調べる必要があります。

関連する問題