【问题标题】:How do I integrate existing scripts into Django?如何将现有脚本集成到 Django?
【发布时间】:2011-04-06 14:10:09
【问题描述】:

我刚刚被介绍到 Django 框架,我想在我的团队的许多基于系统的 Perl/Python/wlst 脚本中使用这个框架。如何获取正常的命令行输出并让它近乎实时地输出浏览器?我已经研究过序列化,但似乎找不到任何好的教程。我只是在寻找有关如何制作普通 Python/Perl 脚本并使其与基于 Django 的网站一起使用的建议。

具体来说:我有一个脚本,可以将一个用户添加到一个组中,从而成为一个 weblogic 域的角色。我想让你填写表格,它连接到服务器做工作并返回输出。唯一的问题是它可能需要一点时间才能连接。

【问题讨论】:

    标签: python django perl wlst


    【解决方案1】:

    您想在网络浏览器中执行 siplay 外部脚本结果吗?然后,我建议你让这些脚本将它们的结果写入数据库,然后使用 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');
    

    【讨论】:

    • “近乎实时”让我认为这些是运行时间较长的脚本,浏览器应该随着时间的推移显示额外的输出。
    • 是的,这些脚本有时可能需要一点时间才能运行至少 30 秒以上。
    • 这种工作,但在进程结束时并不实时显示
    • 我相信这对我不起作用,因为我正在使用开发服务器。我看过其他帖子。
    【解决方案2】:

    我认为你必须更具体一点。 如果要在浏览器中输出“操作”的结果,则必须使用呈现模板的view

    并引用 django 的 docs on views:

    视图函数,或简称视图,是 只是一个 Python 函数,它需要一个 Web 请求并返回一个 Web 回复。这个响应可以是 网页的 HTML 内容,或 重定向,或 404 错误,或 XML 文档或图像。 . .或者 任何东西,真的。视图本身 包含任意逻辑 有必要返回该响应。 这段代码可以放在你想要的任何地方, 只要它在你的 Python 路径上。

    因此,如果您有一个有效的 Python 函数/脚本,您可以将其导入您的视图中,并将结果通过管道传输到您的模板。

    【讨论】:

      猜你喜欢
      • 2017-02-22
      • 1970-01-01
      • 2011-04-20
      • 2011-04-09
      • 2012-03-28
      • 2015-09-18
      • 2018-01-23
      • 1970-01-01
      • 2011-09-22
      相关资源
      最近更新 更多