为我的python脚本创建WEB UI

为我的python脚本创建WEB UI,python,jquery,matplotlib,flask,mpld3,Python,Jquery,Matplotlib,Flask,Mpld3,所以,我有一个网站,我想在那里实时显示我的机器学习程序的输出。每个输出都基于用户的输入 我已经成功地创建了python脚本,它提供了我想要的输出,但直到现在我还在本地机器上运行我的脚本 我正在使用matplotlib、numpy、sci工具包和类似的软件包,我需要创建一个web UI,它可以通过单击html按钮运行python脚本,然后显示生成的matplotlib图 我已经寻找答案很久了,以下是我的发现 现在我对所有这些技术都有点了解了。但我找不到一些完美的例子来帮助我解决我的处境。我

所以,我有一个网站,我想在那里实时显示我的机器学习程序的输出。每个输出都基于用户的输入

我已经成功地创建了python脚本,它提供了我想要的输出,但直到现在我还在本地机器上运行我的脚本

我正在使用matplotlib、numpy、sci工具包和类似的软件包,我需要创建一个web UI,它可以通过单击html按钮运行python脚本,然后显示生成的matplotlib图

我已经寻找答案很久了,以下是我的发现

  • 现在我对所有这些技术都有点了解了。但我找不到一些完美的例子来帮助我解决我的处境。我想让你们知道的几件事是,我有一个现成的HTML文件和CSS。我正在为我的远程服务器使用Google Console VM实例

    所以,总而言之,我只需要解决以下问题

    • 用户从我的html页面中选择一个选项
    • 远程服务器收到请求,启动必要的python脚本
    • Python脚本以matplotlib、文本和数字的形式返回数据
    • 我的HTML页面获取数据,解析它们并显示输出
        • 您好,您需要一些pythonweb框架,正如您已经做过的那样 提到的烧瓶可能是一个很好的选择
        • 要将应用程序部署到生产环境中,还需要一个web应用程序 在远程服务器上运行的服务器
        • 之后,您可以设置web服务器以与您的服务器通信 正在运行的应用程序
        您的烧瓶端点可能如下所示:

        @app.route('/evaluate', methods = ['GET', 'POST'])
        def index():
        if request.method == 'POST':
            # Computed ML output
            output = compute_data(data)
            # Format to graph data
            graph_data = transform_to_graph(output)
            # Pass data to the template
            return render_template('graph-view.html', graph_data=graph_data)
        
        return render_template('main.html')
        
        其中main.html将是带有按钮和用户输入的页面:

        <!DOCTYPE html>
        <html>
        <head>
        <title>User Input</title>
        </head>
        <body>
        <h1>Provide with input</h1>
        <form method="post" action="/evaluate">
        <input type="text" name="data">
        <input type="submit" value="Evaluate">
        </form>
        </body>
        </html>
        
        
        用户输入
        提供投入
        
        这可能是关于烧瓶基础知识的非常简单和直接的教程: .
        搜索其他来源,你会很快进入。对于部署,您还需要运行flask应用程序的应用程序服务器,因为flask本身还没有准备好生产。我可以推荐Gunicorn,以下是众多教程之一,展示了如何使用Nginx代理web服务器设置Gunicorn:。请搜索这个主题,有很多教程。

        请原谅我的以下愚蠢问题,你能给我指一些详细解释烧瓶端点工作原理的教程吗。我在这里不知所措,我从未在网站上使用过python,在阅读了python web开发教程之后,我得出结论,python web开发不像html/php那样直截了当。我精通python和html。但我从来没有同时使用过这两种设置。更新后,如果您在设置上有任何问题,请随时与我联系。如果您想学习在自己的服务器上托管,heroku提供了一个免费选项。非常好的文档,可以很好地使用flask。非常感谢您提供的及时准确的解决方案。我会研究你的解决办法。我想我很快就会和你联系的