Javascript 我正在尝试使用本地托管的Django Web服务器';的HTML按钮来执行一个python脚本,该脚本';它在我的本地机器上,我';我被难住了

Javascript 我正在尝试使用本地托管的Django Web服务器';的HTML按钮来执行一个python脚本,该脚本';它在我的本地机器上,我';我被难住了,javascript,python,html,django,Javascript,Python,Html,Django,所以,我对Django、python和javascript还很陌生 我有一个部分功能的Django Web服务器,在开发它时,我在我的机器上本地托管它 我用HTML制作了一个按钮,我发现它可以绑定到javascript脚本。我的下一步是让这个按钮“执行”一个python脚本,它位于我的机器上,特别是在/desktop目录下。当然我可以移动脚本,但重要的是我希望python脚本(我们称之为django_test_script.py)在我的机器上打开自己的窗口。它只是一个文件,在stdout中说“嗨

所以,我对Django、python和javascript还很陌生

我有一个部分功能的Django Web服务器,在开发它时,我在我的机器上本地托管它

我用HTML制作了一个按钮,我发现它可以绑定到javascript脚本。我的下一步是让这个按钮“执行”一个python脚本,它位于我的机器上,特别是在/desktop目录下。当然我可以移动脚本,但重要的是我希望python脚本(我们称之为django_test_script.py)在我的机器上打开自己的窗口。它只是一个文件,在stdout中说“嗨”,然后在5秒钟后关闭,但是由于整个项目的计划,我希望这样。我想在我的机器上打开我的网站,单击该按钮,然后在我的桌面上弹出脚本的控制台并运行/完成

最终的目标是控制插入我的覆盆子pi的LED条。我想在网站上的彩色按钮,点击时,运行适当的python脚本,把灯的颜色。我不需要花很长时间来编写python脚本本身,它们会改变颜色,但我需要在“按钮导致py脚本运行”和python脚本实际运行之间架起一座桥梁

我看到很多类似的问题,但它们似乎都涉及到在Web服务器中运行python脚本,就像内部文件一样,完成所有操作,然后通过HttpResponse向服务器返回一些内容

我不需要HttpResponse。实际上,我现在想做的就是弄清楚如何使存储在机器上的脚本运行


我已经读了一些关于AJAX的书,我猜其中也涉及到了这一点,但是我在AJAX中尝试的每一件事都失败了,因为实际上我让服务器运行了一个脚本。我已经在互联网上搜索了一个多小时,基本上没有发现任何有用的东西(据我所知),所以我想我还是寻求帮助为好。有人能给我指出我需要做什么的正确方向吗

恐怕这是不可能的。浏览器不允许执行本地脚本,因为(出于安全原因)所有内容都在沙箱中。 如果要执行某些操作,可以执行以下操作之一:

  • 使用http服务器执行脚本并通过AJAX调用它
  • 您可以将其构建到exectron/nodejs应用程序中,从而为访问系统提供更多可能性。看

但根据您的要求,我假设网站将在另一台设备上打开,以远程控制Pi led?如果您需要使用某种http服务器,否则无法在pi本身上运行脚本。

恐怕这是不可能的。浏览器不允许执行本地脚本,因为(出于安全原因)所有内容都在沙箱中。 如果要执行某些操作,可以执行以下操作之一:

  • 使用http服务器执行脚本并通过AJAX调用它
  • 您可以将其构建到exectron/nodejs应用程序中,从而为访问系统提供更多可能性。看

但根据您的要求,我假设网站将在另一台设备上打开,以远程控制Pi led?如果您需要使用某种http服务器,否则无法在pi本身上运行脚本。

谢谢您的回复!我真的很感激。那么,人们通常是如何通过网络远程控制设备的呢?例如,我看到过很多这样的例子,人们在他们的主计算机上加载到简单的网页,点击一些东西,然后他们的arduino在房间里做一些事情。如果不是我想象的那样,这些联系通常是如何建立的?而且,是的,你的假设是正确的。计划是将pi上的Web服务器托管到本地网络,并使用其他设备从该网页控制pi。我知道SSH连接用于通过CLI进行控制,这是我目前所做的,但我希望通过网页通过网络控制脚本。看起来我肯定需要做某种http服务器,并使用AJAX执行脚本,但正如我所说的,我基本上没有发现如何真正做到这一点,而不需要大量复杂的额外东西,这些东西不适用于我的用例,但我也不知道我需要从这些示例中删除哪些漏洞。如果这有意义的话。它们的工作原理与描述完全相同:arduino运行一个(非常)小的http服务器,为网页提供服务(将从另一台pc打开),并处理执行特定操作(例如打开pin)的传入rest请求。这里可以找到一个例子:需要注意的是,在使用ajax时,您应该在同一IP/域上托管页面。否则,您的浏览器将阻止该请求,您需要启用XSSThank以便响应我!我真的很感激。那么,人们通常是如何通过网络远程控制设备的呢?例如,我看到过很多这样的例子,人们在他们的主计算机上加载到简单的网页,点击一些东西,然后他们的arduino在房间里做一些事情。如果不是我想象的那样,这些联系通常是如何建立的?而且,是的,你的假设是正确的。计划是将pi上的Web服务器托管到本地网络,并使用其他设备从该网页控制pi。我知道SSH连接用于通过CLI进行控制,这是我目前所做的,但我希望通过网页通过网络控制脚本。看起来我肯定需要做某种http服务器,并用AJAX执行脚本,但正如我所说的,我基本上没有发现如何在没有大量复杂的额外内容的情况下真正做到这一点,这些内容不适用于我的用例,但我