#python #django #perl #wlst
#python #django #perl #wlst
Вопрос:
Я только что познакомился с фреймворком Django, и я хотел бы использовать этот фреймворк для многих моих системных скриптов на Perl / Python / wlst для моей группы. Как я могу использовать обычный вывод командной строки и заставить его выводить браузер практически в режиме реального времени? Я изучал сериализацию, но, похоже, не могу найти ни одного хорошего руководства. Я просто ищу предложения о том, как создать обычный скрипт на Python / Perl и заставить его работать с веб-сайтом на основе Django.
В частности: у меня есть скрипт, который добавит пользователя в группу к роли для домена weblogic. Я хочу сделать так, чтобы вы заполняли форму, она подключалась к серверу, выполняла работу и возвращала выходные данные. Единственное, что может занять немного времени для его подключения.
Ответ №1:
Вы хотите воспроизвести результаты внешнего скрипта в веб-браузере? Затем я предлагаю вам заставить эти скрипты записывать свои результаты в базу данных, а затем использовать модели django для извлечения и отображения информации.
Если вы хотите выполнять скрипт каждый раз, когда пользователь открывает веб-страницу, и отображать результат, используйте этот код python:
def command_output(cmd):
""" Capture a command's standard output."""
import subprocess;
return subprocess.Popen(cmd.split(), stdout=subprocess.PIPE).communicate()[0];
result = command_output('ls -al');
Комментарии:
1. «почти в реальном времени» заставляет меня думать, что это более длительно работающие скрипты, в которых браузер должен отображать дополнительные выходные данные с течением времени.
2. да, иногда выполнение этих скриптов может занять не менее 30 с лишним секунд.
3. Этот тип работает, но не отображает его в режиме реального времени сразу после завершения процесса
4. Я полагаю, что у меня это не сработало, потому что я использую сервер разработки. Я видел другие сообщения.
Ответ №2:
Я думаю, вам нужно быть немного более конкретным. Если вы хотите вывести результаты «операции» в браузере, вы должны использовать view
, который отображает шаблон.
И цитирование документов django по views:
Функция просмотра, или сокращенно view, — это просто функция Python, которая принимает веб-запрос и возвращает веб-ответ. Этот ответ может быть HTML-содержимым веб-страницы, или перенаправлением, или ошибкой 404, или XML-документом, или изображением … или чем угодно, на самом деле. Само представление содержит любую произвольную логику, необходимую для возврата этого ответа. Этот код может находиться где угодно, если он находится на вашем Python path.
Итак, если у вас есть работающая функция / скрипт python, вы можете импортировать ее в свой view и таким образом передавать результаты в свой шаблон.