2012-07-26 6 views
1

django보기에서 RESTful API 호출을 수행 할 수있는 방법이 있습니까?django보기에서 REST API 호출

URL을 따라 장고보기에서 헤더와 매개 변수를 전달하려고합니다. 나는 30 분쯤에 인터넷 검색을하고 있지만 흥미로운 것을 찾을 수 없었다.

아무 도움도 받으실 수 있습니다.

+0

에 오신 것을 환영합니다 같은 몇 가지 프레임 워크를 사용합니다! [귀하의 질문을 연구하십시오] (http://stackoverflow.com/questions/how-to-ask). [이미 시도한 것] (http://whathaveyoutried.com/)이 있으면 질문에 추가하십시오. 아니라면 질문을 먼저 연구하고 시도한 다음 다시 방문하십시오. –

+0

이 댓글을 기다리고있었습니다 ....... – user1481793

+3

질문을 할 때 고려해야합니다. –

답변

8

물론 있습니다. urllib2.urlopen을 사용할 수 있지만 나는 requests을 선호합니다.

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입니다, 당신이 here을 찾을 수 있습니다 사용하여 요청을에 대해 알아야 할 모든.

+0

게시 및 업데이트는 어떨까요 ......? – user1481793

+0

그리고 헤더와 매개 변수는 어떻습니까? :) –

+1

쳇, 나는 결국 거기에 갈 것이다 :-) 질문자가 머리말을 남겨두고 스스로 해결할 것이다. 헤더가 요청됩니다. 메타. 당신은 맹목적으로 모든 것을 함께 전달하고 싶지 않습니다. 요청에 대한 키워드 arg는 'headers'이므로 요청 (header = request.META)을 할 수는 있지만 요청 길이와 같은 내용은 헤더에 있기 때문에 다소 어려워 보일 수 있습니다. – aychedee