你可以在html中执行python吗

时间:2019-04-17 18:34:31

标签: python jquery html ajax cgi

可以说我已经用表单编写了一个简单的html页面。表单具有3个输入字段,用户可以填写并按下“提交”按钮。是否有可能从html中获取3个输入字段的值,在jquery中使用诸如ajax之类的内容并执行python脚本,同时将这些表单值作为变量发送给该脚本?

在我所读到的关于这个主题的所有地方,指南总是使用Flask返回python脚本中的html代码。问题是我已经有html了,我只需要这种形式来触发python脚本,然后在按下按钮后让用户知道脚本已执行。我真的很讨厌认为我需要再次用python编写标记!

这样可能吗?

1 个答案:

答案 0 :(得分:0)

@Zak提供:

由于您要求在HTML页内完成此操作的方法,因此我正在回答此问题。我觉得没有必要提及随之而来的严重警告和隐患..我相信您比我更了解.py脚本的安全性:-)

我将使用.ajax()库中的jQuery函数。只要脚本位于可公开访问的html目录中,这将允许您调用Python脚本。...这就是我告诉您注意安全注意事项的部分。 ..

<!DOCTYPE html>
<html>
  <head>    
  </head>
  <body>
    <input type="button" id='script' name="scriptbutton" value=" Run Script " onclick="goPython()">

    <script src="http://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

    <script>
        function goPython(){
            $.ajax({
              url: "MYSCRIPT.py",
             context: document.body
            }).done(function() {
             alert('finished python script');;
            });
        }
    </script>
  </body>
</html>

此外..值得注意的是,您的脚本将必须具有www-data用户的适当权限才能运行它... chmod和/否则可能需要使用chown