Python Flask - 客户端的 GUI

Python Flask - GUI for client

我想要 运行 一个客户端文件对话框 GUI,以便用户可以选择要使用 python (example) 处理的文件。我的代码,基本上可以正常工作,在这里:

from flask import Flask, url_for, request
app = Flask(__name__)

@app.route('/data')
def gui_test():

    import Tkinter, tkFileDialog
    root = Tkinter.Tk()
    root.withdraw()
    filepath = tkFileDialog.askopenfilename()

    with open(filepath,'rb') as tt:
        lines = tt.readlines()

    return 'You are reading ' + filepath + '<p>Top 10 lines for proof of concept<p>'+'<br>'.join(lines[0:10])


if __name__ == '__main__':
    app.run()

一切正常,除了 GUI 在机器上打开 运行 使用此 REST 代码,而不是在客户端的用户帐户中打开。

用户应使用浏览器转到 http://127.0.0.1:5000/data,然后应看到文件对话框:

详细信息:Windows Server 2012 R2,Flask 0.10.1,Python 2.7

如果我采取了错误的方法,我将不胜感激其他方向的建议。这个想法可能有一些缺陷,因为浏览器不共享完整路径 (javascript example)。

您不能在 Web 应用程序中使用 tkinter 运行 客户端代码。这根本不可能。

您不能将 GUI 小部件发送到浏览器,只能发送 HTML、CSS 和 Javascript。 Flask文件上传见官方文档http://flask.pocoo.org/docs/0.10/patterns/fileuploads/