我需要通過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
使用織物更大的控制和靈活性,你應該使用的織物作爲一個庫。參見: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
您也可以導入和直接從Django的
在版本1.3之後檢查fabric.tasks.execute()
。
對不起不知道如何將其格式化正確:( – Abhi 2012-01-10 06:00:36
我不能編輯,因爲我沒有足夠的聲譽,但如果突出顯示文本,然後單擊上括號內的按鈕,將格式化代碼正確。 – 2012-01-10 06:03:58
是您在做面料調用(在這種情況下,這是不是一個真正的Django的問題)的困難,或者在使用Django,以獲得正確的參數呢? – 2012-01-10 06:20:05