リモートマシン上でファブリックメソッドをdjangoで呼び出す必要があります。私は、ユーザーがリモートマシンのホスト名を取得してリクエストを送信したときを意味します。このような 何か:djangoでリモートファブリックメソッドを呼び出す方法
def get_hostname(request):
hostname = os.system('fab remote_server hostname')
return hostname
リモートマシン上でファブリックメソッドをdjangoで呼び出す必要があります。私は、ユーザーがリモートマシンのホスト名を取得してリクエストを送信したときを意味します。このような 何か:djangoでリモートファブリックメソッドを呼び出す方法
def get_hostname(request):
hostname = os.system('fab remote_server hostname')
return hostname
から直接生地をインポートして使用することができます。参照:バージョン1.3の後http://docs.fabfile.org/en/1.3.3/usage/library.html
import fabric.api as fab
from fabric.network import disconnect_all
from contextlib import contextmanager
@context_manager
def ssh(settings):
with settings:
try:
yield
finally:
disconnect_all()
def hostname(request, host='somehost', user='someuser', pw='secret'):
with ssh(fab.settings(host_string=host, user=user, password=pw)):
return fab.run('hostname')
あなたのサーバーは、ファブリックの必要な部品を持っている場合は、あなたが直接呼び出しに機能をfabfileだけインポートすることができるはずです。
(これは私がYMMWを夢見ちょうどいくつかのコードです)
import fabfile as f #Your fabfile must be somewhere it can be imported
def get_hostname(request):
hostname = f.remote_server(hostname)
return hostname
また、あなたはライブラリとしてファブリックを使用する必要がありますより大きいコントロールと柔軟性を高めるためジャンゴ
チェックfabric.tasks.execute()
を。
申し訳ありませんが、正しくフォーマットする方法を知りません:( – Abhi
私は十分な評判がないので編集できませんが、テキストを強調表示し、角括弧付きのボタンをクリックするとコードがフォーマットされます –
ファブリックコールを作成するのが難しいですか(これは本当にDjangoの質問ではありません)、またはDjangoを使って適切なパラメータを取得するのですか? –