как вызвать метод удаленной ткани в django

Мне нужно вызвать метод ткани на удаленной машине через django. Я имею в виду, когда пользователь отправляет данный запрос, получите имя хоста удаленной машины. Что-то вроде этого:

def get_hostname(request): hostname = os.system('fab remote_server hostname') return hostname 

3 Solutions collect form web for “как вызвать метод удаленной ткани в django”

Для большего контроля и гибкости вы должны использовать ткань как библиотеку. см .: 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

Проверьте fabric.tasks.execute() после версии 1.3.

  • Ошибка Paramiko: ошибка при чтении протокола SSH
  • Ткань: Как я могу выполнить тестирование моего файла?
  • Запуск Fabric с скриптом Python вместе
  • Эмулировать SSH-сервер для целей тестирования
  • Неожиданное поведение при вложенности вызовов cd с использованием Fabric
  • Как использовать Fabric для SSH для двух разных портов на одном сервере?
  • В Mac OS X, simple_install fabric и / или easy_install pycrypto не удается из-за ошибки компоновщика «незаконное перемещение текста»,
  • ткань и пароль svn
  • Ошибка импорта импорта: невозможно импортировать имя 'isMappingType'
  • Конфигурирование ткани для EC2
  • Проблемы с активацией виртуального сервера на сервере через Fabric
  • Python - лучший язык программирования в мире.