私はDjangoWebアプリケーションを持っています。これにより、ユーザーはUIからHTTPを介してリモートサーバーでstop / start/install_pkgを実行できます。Django Webアプリには、開始/停止/ install_pkg関数がすでに実装されており、基本的に適切なURLを作成し、パラメーターを使用してHTTPURLを呼び出します。
私の目標は、ユーザーが次のようなREST呼び出しを行うときに同じ内部関数を使用することです。
1. https://api/v1/server/<server_name>/start/?api_key=<api_key>¶ms=<params>
2. https://api/v1/server/<server_name>/stop/?api_key=<api_key>¶ms=<params>
3. https://api/v1/server/<server_name>/install_pkg/?api_key=<api_key>¶ms=<params>
そして、リモートサーバー応答オブジェクトを含む呼び出し元にJSON応答を返します。
これまで、Tastypieライブラリを使用して、RESTを介したDjangoWebアプリのモデルデータへの読み取り専用アクセスを公開してきました。
非ORMリソースに関するTastypieチュートリアルは、Tastypieの9つのメソッドをオーバーライドすることによって非ORMリソースと対話する方法を示しています。しかし、私の限られた知識と理解を考えると、私の場合にTastypieを使用する方法についてはよくわかりません。ここに何か足りないものがありますか?
編集:(2012年10月29日)
さらに明確にするために-DjangoWebアプリには各リモートサーバーのORMエントリがありますが、この情報は登録時に作成されるため、(name、ip、domain、...)などの特定のリモートサーバーに関する静的情報です。 DjangoWebアプリへのリモートサーバー。
Django WebアプリからリモートサーバーへのWebサービス呼び出しは、(app_state、pkg_installed_list、...)のようなリモートサーバーの最新の状態をフェッチしますが、このデータはDjnagoWebアプリのどこにも保存されません。UIの場合と同じようにレンダリングされます。
したがって、リモートサーバーに関するDjango WebアプリのGETは、基本的に静的情報を返します。
ありがとう、