2016-07-24 2 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

"중간 남자"가 필요없는 이유는 자바 스크립트를 사용하지 않는 이유는 무엇입니까? 달성하고자하는 것이 무엇인지 확실하지 않지만 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 및 컨텍스트 데이터를 사용하여 응답을 렌더링하는 방법을 학습합니다. 당신이 자바 스크립트 비동기 액세스 할 수 있다는 것입니다 JSON API의와 큰 advanteges의

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

하나 :

당신처럼 당신이 할 수있는 requests를 사용하는 경우. json API에서 데이터를 조작하기 위해 데이터베이스를 호출하지 않고 응답을 렌더링하려는 경우에는이를 조사해야합니다.