Python Flask - 客户端的GUI

时间:2015-01-26 14:31:47

标签: python rest tkinter flask

我想运行客户端文件对话框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,然后应该看到文件对话框:

enter image description here

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

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

2 个答案:

答案 0 :(得分:4)

您无法向浏览器发送GUI小部件,只能发送HTML,CSS和Javascript。请参阅烧瓶http://flask.pocoo.org/docs/0.10/patterns/fileuploads/

中的文件上传的官方文档

答案 1 :(得分:1)

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