如何在Flask Web服务器中运行Python程序?

时间:2019-04-08 14:38:58

标签: python flask server

我有一个Python程序,旨在让用户选择图像上的点。单击的点将保存到YML文件中。

我目前以一种方式设置它,当从服务器调用Python程序时,它在单独的窗口中执行Python GUI(就像通过命令行执行它一样),并且用户输入是通过我用来运行服务器的命令行获取的。我希望这一切都是内部的。像这样,一切都将通过服务器运行。

我将如何去做?是否有可用的库来使这种事情成为可能?下面的代码显示了Python程序当前在服务器中如何运行。如果您进入/ test网址,则在这种情况下它将执行。

希望这张图片可以让您了解我要做什么。本质上,我需要映像在服务器中是开放的且可交互的。我不需要确切的代码来执行此操作,只需解释我应该如何执行。

- project
    - data (folder that holds output information from pythonGUI.py)
    - app
        - templates
            - index.html
        - routes.py
        - models.py
        - __init__.py
    - pythonGUI.py
    - config.py
    - server.py

routes.py

from app import app
from flask import Flask, request, render_template, session
import pythonGUI

app.secret_key = app.config['SECRET_KEY']

@app.route('/')
@app.route('/index')
def index():
    return render_template('index.html')

@app.route('/test')
def test():
    return pythonGUI.main()

if __name__ == '__main__':
    app.run(host='0.0.0.0', port='8000', debug=True)

pythonGUI.py

from app import app
import cv2

def main():
#Some code here

if __name__ == '__main__':
    main()

如果您需要更多代码,请告诉我。我不确定在这种情况下要显示什么内容。谢谢

1 个答案:

答案 0 :(得分:0)

目前,我不确定您是否需要图像库;您可能只使用Javascript和Flask即可。

这是我的处理方法:

关于使用Javascript从图片获取坐标的问题。谷歌搜索大约10秒钟后,我发现了这一点:get image pixel coordinates relative left top corner

获取该输出并将其发送到flask中的另一条路由。像这样:

from flask import request

def image_coordinate_processing(x,y):
    #Do stuff
    return result

@app.route('/_img_coordinates')
def _img_coordinates():
    x = int(request.args.get('x'))
    y = int(request.args.get('y'))

    result = image_coordinate_processing(x,y)

    return 'completed'

在模板中,您将像这样发送数据:

{{url_for('_img_coordinates', x=x, y=y)}}

显然,这不是全部代码,但应该可以使您朝着正确的方向前进。