通过浏览器让python与本地Flask应用程序通话

时间:2015-03-19 04:37:46

标签: javascript python flask local

这可能是一个简单的架构问题,但我无法弄清楚。

我拥有的:

基本上我在Raspberry pi上有两个本地运行的应用程序:

  • 一个C ++应用程序(Voicecommand),它允许我从麦克风执行命令并运行各种python脚本。在某些关键字上,我可以运行python脚本来打开浏览器或执行任何操作。
  • 一个简单的Flask应用程序,带有几个基本视图

我想要的是什么:

当我说一个关键字(例如天气)时,我希望我的本地Flask应用程序返回天气(已经有了这个功能和视图),理想情况下是小框架而不重新加载整个页面。

我的想法:

我想过让我的本地应用程序在浏览器中进行JS调用但却无法弄清楚如何。我能想到的最好的事情是相当于在浏览器中注入JS调用的Applescript ......从那时起,我可以轻松地对我的天气视图进行ajax调用并返回结果而不刷新页面。 我还想过使用像React或Angular这样的东西,或者连接这两个应用程序,但我并不是100%肯定如何。

1 个答案:

答案 0 :(得分:1)

这有点棘手,因为您想要根据服务器上的某些事件更新客户端,通常交互是一种方式(即客户端发出请求,服务器响应,它就是这样)。

我要做的是设置某种双向协议,例如WebSockets。 Flask的一个体面的图书馆是Flask-SocketIO。然后,您可以让C ++应用程序中的Python脚本命中Flask应用程序中的端点,并且该端点可以emit()向客户端发送消息。在client side上,您可以收到这些事件并相应地更新您的观看次数。