2014-09-09 3 views
0

나는 장고에서 웹 응용 프로그램을 만들고 있는데, 내 친구가 만든 PHP 웹 응용 프로그램과 통합하려고합니다.php에서 django로 사용자 정보 전달하기

PHP 웹 앱은 교사가 질문 할 수있는 포럼과 같습니다. 이를 위해 그들은 로그인해야합니다.

그리고 저는 장고에 대학 목록을 표시하는 앱을 만들고 있으며 모든 대학에서는 교사의 워크샵/수업 시간과 같은 교사 정보를 가지고 있습니다. 내 장고 응용 프로그램에서 대학은 자신의 계정을 만들고 교사의 워크샵/수업에 대한 정보를 제공 할 수 있습니다.

이제 내가 원하는 것은 PHP 웹 응용 프로그램에 등록 된 학생이 장고 앱에있는 대학에서 제공하는 워크샵/강의를 예약 할 수 있으며 대학에서는 어떤 학생과 워크샵/수업을 예약했는지 확인할 수 있습니다.

php web app에서 django로 학생의 정보를 얻는 방법은 다음과 같습니다. 어떤 학생이 어떤 학생이 워크샵을 위해 예약했는지 확인할 수 있습니다. 학생들은 PHP 웹 응용 프로그램에 로그인 할 때까지 워크샵을 예약 할 수 없습니다.

내가 JSON에서 반환이 가능

+0

친구의 데이터베이스에 액세스 할 수 있으면 친구의 정보를 직접 얻을 수 있습니다. 그렇지 않으면 PHP 웹 앱에서 일부 API를 구현해야하므로 API에서 정보를 검색 할 수 있습니다. – stalk

+0

나는 내 친구의 PHP 웹 애플 리케이션의 데이터베이스에 액세스하는 방법을 모른다. – gamer

답변

2

을에서 당신은 이러한 가능성 중 하나를 사용합니다

  • 당신의 친구가 당신에게 직접 액세스 할 수 있습니다 (심지어는 읽기 전용 액세스) 자신의 데이터베이스를하고 장고 모델 또는 사용으로 모든 것을 표현 원시 SQL. 이 방법의 문제점은 두 시스템간에 매우 높은 커플 링이 있다는 것입니다. 어떤 이유로 그가 테이블이나 계획 구조를 변경하면 통보를 받고 마지막으로 물건을 변경해야합니다. 진짜 두통입니다.
  • 친구가 액세스 할 수있는 시스템의 API 끝점을 제공합니다. 이 프로토콜은 JSON을 반환하는 정보 또는 두 가지를 제공하는 다른 형식을 검색하는 간단한 GET 요청 일 수 있습니다. 이는 장기적으로 볼 때 가장 간단하고 최선의 방법입니다.
  • 자신의 사이트에서 직접 콘텐츠를 가져 와서 모든 요청에 ​​대해 원시 HTML을 반환하고 수신 한 응답을 긁을 수 있습니다. 사이트 구조가 바뀌면 두통이 될 수도 있습니다. 그 사실을 알고 있어야합니다.
+0

예약 링크 또는 버튼이 내 장고 앱에 들어 있기 때문에 PHP 프로그램 사용자가 워크샵 예약을 어떻게 알 수 있습니까 ?? – gamer

+0

정상적인 사용 사례는 한 시스템이 다른 시스템에 의존하고 한 시스템 만이 다른 시스템과 호환되도록해야한다는 것입니다. 귀하의 경우 두 시스템이 서로 상호 작용할 필요가 있으므로 가장 간단한 방법은 두 프로토콜 사이에서 특정 프로토콜을 결정하는 것입니다. 어쩌면 데이터를 주기적으로 공유하고 각 요청에 추가 데이터를 전달하여 각 시스템 등에 필요한 것을 일치시킬 수 있습니다.시스템의 정확한 구조와 각 시스템이 제공 할 수있는 것을 모른 채로도 제가 도울 수있는만큼 많이 두렵습니다 ... –

0

직접 다음 URL 모두/students_info? 책을 구현하기 위해 친구에게 물어 데이터베이스에서 데이터를 얻을 수없는 경우 = bookname과를 만들 수있는 방법 .. 이것에 대해 나에게 어떤 생각을주십시오 언급 된 책을 주문한 학생들의 형식 목록. 파이썬 응용 프로그램

import urllib, json 

url = "the url to php app/students_info?book=bookname" 
response = urllib.urlopen(url); 
data = json.loads(response.read()) 
+0

django에서 데이터베이스에이 사용자를 저장하는 방법? – gamer

0

REST로 시도 할 수 있습니다 (예 : Django rest framework). 웹 API를 만듭니다. 이런 식으로 장고와 PHP 사이에 JSON 데이터를 보낼 수 있습니다.

관련 문제