2017-05-13 1 views
0

저는 장고를 사용할 때 새로운 것입니다. 그래서 누군가에게 쉬운 일일 수 있습니다.Django REST API 연결 문제

여기에있는 자습서를 따라 장고 REST API를 작성했습니다 : http://www.django-rest-framework.org/. 서버를 실행할 때 Browsable API를 사용하고 API (특히이 링크 : http://127.0.0.1:8000/snippets/)를 탐색 할 수 있습니다. 또한 Postman GET 요청을 통해이 URL에 액세스하여 관련 스 니펫을 검색 할 수 있습니다.

나는 (내 파이썬 서버가 실행)이 URL에서 데이터를 가져 오는하고 어디 네이티브 응용 프로그램 반응 만들었습니다

지금, 여기 내 문제입니다. 나는이의 응답을 CONSOLE.LOG, 나는 계속의 오류 얻을 : 나는 브라우저 또는 우편 배달부에있는 링크를 새로 고칠 수 있습니다

Error: Network Error 
    at createError (createError.js:15) 
    at XMLHttpRequest.handleError (xhr.js:87) 
    at XMLHttpRequest.dispatchEvent (event-target.js:172) 
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:478) 
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:324) 
    at XMLHttpRequest.js:418 
    at RCTDeviceEventEmitter.emit (EventEmitter.js:179) 
    at MessageQueue.__callFunction (MessageQueue.js:236) 
    at MessageQueue.js:108 
    at guard (MessageQueue.js:46) 

을 아무 문제가 없지만,이 가져 오기에 ... 제가 드릴 수 없습니다 어떤 성공을 거두고 위의 애매한 오류 메시지 만 다시 듣고 있습니다.

나는 그것이 CSRF, CORS ...와 있을지도 모른다고 생각했지만 장고에서 확인 된 두 가지 설정을 모두 가지고있다. (그리고 오류 메시지는 그렇게 말하지 않는다고 생각하지 않는다. 그것).

의견이나 제안이 있으십니까?

감사합니다.

+0

CORS 문제 일 수 있습니다. JS가'Access-Control-Allow-Origin : * '을 보내고 ReactApp의 IP 주소가 장고 설정에서 허용 목록에 있는지 확인하십시오. –

+0

CORS가 100 % 문제가 아니라고 말할 수는 없지만 pip를 설치하여 django-cors-headers를 설치하고 설치된 응용 프로그램을 추가하고 미들웨어를 추가하고 CORS_ORIGIN_ALLOW_ALL = True로 설정하십시오. Access Control-Allow-Origin : *을 사용해야할까요? –

+0

흠, 그래야합니다. 전체 스택 트레이스입니까? –

답변

0

누군가 내 글에서이 사실을 분명히 알 수 있었지만 ...이 같은 문제가 있었을 수도있는 사람에 관계없이이 답변을 게시하고 싶습니다.

저는 Expo를 통해 React Native 애플리케이션을 개발하고이를 iOS/Android 시뮬레이터가 아닌 실제 휴대 전화에 배포했습니다.

이 경우 분명히 내 http://127.0.0.1:8000 또는 http://localhost:etc이 내 전화에서 작동하지 않습니다! 나는 iOS Simulator를 사용하기로 바꿨고 문제없이 첫 번째 시도를했습니다.