21

djangoビューからRESTfulAPI呼び出しを行う方法はありますか?

djangoビューからURLに沿ってヘッダーとパラメーターを渡そうとしています。私は30分からグーグルしていますが、面白いものは何も見つかりませんでした。

どんな助けでもいただければ幸いです

4

2 に答える 2

38

はい、もちろんあります。urllib2.urlopenを使用できますが、私はリクエストを好みます。

import requests

def my_django_view(request):
    if request.method == 'POST':
        r = requests.post('https://www.somedomain.com/some/url/save', params=request.POST)
    else:
        r = requests.get('https://www.somedomain.com/some/url/save', params=request.GET)
    if r.status_code == 200:
        return HttpResponse('Yay, it worked')
    return HttpResponse('Could not save data')

リクエストライブラリは、urllib3の上にある非常にシンプルなAPIであり、それを使用してリクエストを行うために知っておく必要のあるすべてがここにあります。

于 2012-07-26T07:21:49.427 に答える
0

はい私は私のソースコードを投稿していますそれはあなたを助けるかもしれません

import requests
def my_django_view(request):
    url = "https://test"
    header = {
    "Content-Type":"application/json",
    "X-Client-Id":"6786787678f7dd8we77e787",
    "X-Client-Secret":"96777676767585",
    }
    payload = {   
    "subscriptionId" :"3456745",
    "planId" : "check",
    "returnUrl": "https://www.linkedin.com/in/itsharshyadav/" 
    }
    result = requests.post(url,  data=json.dumps(payload), headers=header)
    if result.status_code == 200:
        return HttpResponse('Successful')
    return HttpResponse('Something went wrong')

GetAPIの場合

import requests

def my_django_view(request):
    url = "https://test"
    header = {
    "Content-Type":"application/json",
    "X-Client-Id":"6786787678f7dd8we77e787",
    "X-Client-Secret":"96777676767585",
    }
    
    result = requests.get(url,headers=header)
    if result.status_code == 200:
        return HttpResponse('Successful')
    return HttpResponse('Something went wrong')
于 2022-01-05T07:50:20.663 に答える