최상의 솔루션은 두 사이트를 동일한 데이터베이스에 저장하는 것입니다. 그러면 site2는 site1의 데이터베이스를 간단히 읽을 수 있습니다. 실제로 site2에는 site1 응용 프로그램이 포함될 수 있으며 site2에는 site1 기능이 모두 포함됩니다.
어떤 이유로 사이트 1과 사이트 2가 공통 데이터베이스를 공유하지 못하는 경우 site2는 HTTP를 통해 요청하여 site1에서 데이터를 가져와야합니다.
site2 응용 프로그램에서 site1과 동일한 urls.py
을 사용합니다. 그러나 site2보기 기능은 urllib2
을 사용하여 site1에 HTTP GET 및 POST 요청을합니다. site2 view 함수가 site1의 응답을 받으면 단순히 반환합니다.
귀하의 site2 응용 프로그램은 다음과 유사 할 수 있습니다.
def someSite2View(request):
site1= urllib2.open("http://site1/" + request.path )
data= site1.read()
# you have to parse the data to extract the headers
return Response(headers and data)
이것은 놀랍게도 실행 가능합니다. 이러한 종류의 포워딩은 HTTP 파이프 라인에서 많이 발생합니다.
나는 너를 약간 오해 한 것 같아. 프로젝트 # 1에서 뷰에 의해 제공된 데이터가 변경되어 "라이브"컨텐트를로드하려고하므로 # 2 프로젝트에도 표시해야합니다. 단일 작업이 아니라 오히려 지속적인 프로세스 –