【问题标题】:How to execute a python script in an html script with a button? [closed]如何在带有按钮的html脚本中执行python脚本? [关闭]
【发布时间】:2019-12-18 20:36:00
【问题描述】:

我正在使用 debian 开发树莓派,我想在带有按钮的 html 脚本中执行 python 脚本。我也在网站上使用 apache2。

我是一个初学者,尝试用 jquery 和 django 来做,但都没有成功。

我最后停止的一些代码:

    <form method="post">

    <input type="submit" value="GO" name="GO">
    </form>

    <script language="php">
    if(isset($_POST['GO']))
    {
        shell_exec("/var/www/start.py");
    }
    </script>

它们没有错误,但脚本的代码没有被执行。我检查了python脚本,它很好。该按钮也有效。

【问题讨论】:

    标签: php python html apache raspberry-pi


    【解决方案1】:

    最好的办法是使用Django 框架来实现这一点!只需将您的脚本添加到views.py

    或者,您可以创建以下 Ajax:

    <input type = “button” id=”start″ value=”1″>
    <script>
    $(document).ready(function(){
        $("#start").click(function(){
    
            $.ajax({
                method: "GET",
                url: "/home/pi/start.py",
                data: {"place" : value},
                dataType: "text",
                success: function(result){
                    var data=JSON.parse(result);
                    console.log(result);
                }
            });
         });
    </script>
    

    【讨论】:

    【解决方案2】:

    其实test函数是defined,但是需要注意区分大小写,是

    onclick="test()"
    

    而不是

    onClick="test()"
    

    您打算在浏览器中执行 Python 脚本,但它会在服务器上运行。因此,在您的 test function 中,您需要使用正确的路径将 send a request via Javascript 发送到服务器。这意味着您的浏览器会向服务器发送一条消息,“要求”它执行脚本。

    【讨论】:

      【解决方案3】:

      我一直在使用 django 和 php,因此根据您的整个应用程序的外观,一个可能比另一个更好。

      要在 django 中解决这个问题,您可以使用按钮重定向到内部 url(例如 /buttonclick)。在那里,您可以使用 views.py 中的相关函数来执行您想要在 python 中执行的任何操作,然后重定向到您要显示的页面。 (当您想要动态重新加载网站的某些部分时,请使用 ajax)

      在 php 中解决这个问题:Running a Python script from PHP

      如果你想构建一个更大的应用程序,我建议你使用 django(尽管一开始有点混乱)。

      【讨论】:

        猜你喜欢
        • 2018-07-11
        • 2018-10-04
        • 1970-01-01
        • 2013-05-31
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 2019-02-09
        相关资源
        最近更新 更多