2016-03-31 36 views
1

私はこのように私のdjango view内の別のサーバーへhttpリクエストを送信したい:Djangoビューで別のサーバにリクエストを送信するには?

def django_view(request): 
    response = send_request('http://example.com') 
    result = do_something_with_response(response) 
    return HttpResponse(result) 

はどのように私はそれを行うことができますか?

+0

おそらく間違ったことを探しているでしょう。 "ajax"の "j"はJavaScriptを表しています。Pythonでビューを変更する非同期要求を行う場合は、要求が完了したときにブラウザを更新するために何らかの種類のWebソケットを実装する必要があります。このようなことについては、おそらくJSでjQueryのajaxリクエストまたは何かを書く必要があります。 – paulski

+0

@pdom:ええと、私は実際にはHttpRequestをニードしています。ありがとう。 – Navid777

答えて

3

python requestsライブラリを使用してリクエストを送信し、応答を得ることができます。しかし、あなたのニーズに応えるようにフォーマットする必要があります。ここで

GET要求の例である:

import requests 

def django_view(request): 
    # get the response from the URL 
    response = requests.get('http://example.com') 
    result = do_something_with_response(response) 
    return HttpResponse(result) 

唯一の注意点は、あなたがここでそれを行うならば、それはもうajax(非同期JavaScriptとXML)ではないということです。代わりにdjangoビューからあなたのWebページを正常にロードしてから、javascriptですべてのAJAXリクエストを実行し、さらにレスポンスを処理してページ内にレンダリングすることもできます。

関連する問題