3

私は Django で書かれた 2 つのサイトを持っています。私が欲しいのは、あるサイトから別のサイトにコンテンツをロードすることです。これを行うための最良の選択は.getJSONJSON-Pを使用することであることがわかりましたが、これらのもの (Django、jQuery、および JSONP) を組み合わせる方法がわかりません。

より経験豊富なユーザーからの助けはありますか?

編集

単一のダンプ/ロードデータではなく、ページビューごとにあるサイトから別のサイトにロードされる進行中のプロセスを達成しようとしています。

4

3 に答える 3

2

JSONP エンドポイントを公開するには、django-rest-interface を使用します。

他のサイトからロードするには、Jquery の getJSONを使用します。

于 2009-09-12T05:23:35.237 に答える
0

最善の解決策は、両方のサイトを同じデータベースに配置することです。次に、site2 は、site1 のデータベースを単純に読み取ることができます。実際、site2 には site1 アプリケーション プログラムを含めることができ、site2 にすべての site1 機能を含めることができます。

何らかの理由で、site1 と site2 が共通のデータベースを共有できない場合、site2 は HTTP 経由で要求して、site1 からデータを取得する必要があります。

site2 アプリケーションでは、urls.pysite1 と同じものを使用します。ただし、site2 ビュー関数は、urllib2site1 への HTTP GET および POST 要求を行うために使用されます。site2 ビュー関数が 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 パイプラインで頻繁に発生します。

于 2009-08-28T01:01:35.927 に答える
0

jQuery.ajax()を使用して、JSONP 経由で json データを要求します。オプションでdataTypeが「jsonp」であることを指定するだけです。サーバー側では、jsonp リクエストを処理するだけです。たとえば、 djangoで jsonp データを操作するために必要なほとんどすべてを提供するdjango-jsonpモジュールを使用できます。

于 2015-09-15T11:47:36.570 に答える