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/
我想要 运行 一个客户端文件对话框 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/