我的桌面上有一个使用Python编写的独立应用程序。我在应用程序中使用Tkinter,cv2,numpy等模块。我的Tkinter渲染了我的GUI(具有一个按钮和一个图像)。现在我的问题是我想使其成为Web应用程序。为此,我使用的是Django框架,该框架要求将Model,View和Template(MTV)分开。如何使用HTML使用相同的按钮和图像渲染相同的GUI。(我的具有按钮和图像的GUI应该在模板中,而我的业务逻辑应该在视图中。)这是我想转换为MTV表单的代码段。我希望上载按钮位于Template(HTML)中。单击“上传”按钮后,程序应转到“视图(逻辑)”。如何将逻辑和HTML分开?(甚至有必要吗?我可以将整个对象转换为Django框架而不进行隔离)请帮忙。
def upload():
global original_img,img,img2,img3,image_path,old_label_image,photo,label,image_path,image,ax,fig
print "upload"
image_path=tkFileDialog.askopenfilename()
image = Image.open(image_path)
original_img= image.copy()
image.thumbnail((1000,625))
photo = ImageTk.PhotoImage(image)
label = Label(image=photo)
label.image = photo
if old_label_image is not None:
old_label_image.destroy()
old_label_image = label
#label.update()
label.pack()
root = Tk.Tk() # creating an instance of Tk class
print "main"
old_label_image = None
frame = Frame(root) #creates a new window (given by the pathName argument) and makes it into a frame widget.The frame command returns the path name of the new window.
frame.pack() #The Pack geometry manager packs widgets in rows or columns
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
UploadButton = Button(frame, text="Upload", command= upload)
UploadButton.pack( side = LEFT)
root.mainloop()
你不能 这是那些想了解的人的理由:
1st- Python代码由其解释器执行,该解释器是用C编写的程序。(Python软件基金会的Interpreter恰当地称为“ Cpython”,以区别于也可以运行Python代码的第三方解释器)。Python代码由Cpython解释,并将其内容显示在python控制台中,例如“ Idle”或“ Terminal Emulator”,甚至直接在计算机窗口的屏幕上显示为图形,使用“ X11” [X Windows for Linux Unix] ,“ Quartz Compositor MacX” [Macintosh]或“ DWM” [停止Windows的Windows管理器]。(Cpython具有3个基本版本,每个版本都适用于Mac,Windows和Unix / Linux)
2-您也可以将Web浏览器视为程序解释器。但是它不能解释Python代码。他们只知道如何解释HTML,CSS和Javascript。但是,Web浏览器不像被馈送到第三方控制台或计算机Windowing System那样,而是像虚拟机一样工作,因为它可以在其自己的显示环境Web浏览器中解释和显示结果。不幸的是,这些浏览器都没有被编程来解释Python代码。
第三-Python 是一种非常高级的语言,这意味着它是由低级语言设计的。在发布Python之前必须有C。在发布C之前必须有Assembly。在进行汇编之前,必须要有机器语言。计算机代码的复杂性可以与生物学相提并论。Javascript也已经非常高度地发展了,但是它的发展完全取决于Web浏览器。Python的发展取决于终端仿真器和计算机的Windowing System [X11,MacX或DWM]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。