python - 将 Python 代码转换为 Django 框架

标签 python django opencv

我的桌面上有一个用 Python 编写的独立应用程序。我在我的应用程序中使用了 Tkinter、cv2、numpy 等模块。我的 Tkinter 呈现我的 GUI(它有一个按钮和一个图像)。现在我的问题是我想让它成为一个 Web 应用程序。为此,我使用了 Django 框架,它要求分离 Model 、View 和 Template(MTV) 。如何使用 HTML 渲染具有相同按钮和图像的相同 GUI。 (我的具有按钮和图像的 GUI 应该在模板中,而我的业务逻辑应该在 View 中。)这是我要转换为 MTV 表单的一段代码。我希望上传按钮位于模板(HTML)中。 Onclick 上载按钮,程序应该转到 View (逻辑)。如何分离逻辑和 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()

最佳答案

你不能。以下是那些想了解的人的推理:

第一—— Python 代码由它的解释器执行,这是一个用 C 编写的程序。(Python 软件基金会的解释器被正确地称为“Cpython”,以区别于也可以运行 Python 代码的第三方解释器)。 Python 代码由 Cpython 解释,并使用“X11” [X Windows for Linux Unix] 将其内容显示到 Python 控制台,如“空闲”或“终端模拟器”,甚至直接在计算机窗口的屏幕上作为图形显示, "Quartz Compositor MacX"[Macintosh], [或 "DWM"[Destop Windows Manager for Windows]。 (Cpython 有 3 个基本版本,Mac、Windows 和 Unix/Linux 各一个实现)

第二——您还可以将 Web 浏览器视为程序解释器。但它不能解释 Python 代码。他们只知道如何解释 HTML、CSS 和 Javascript。但是,Web 浏览器不会被馈送到第三方控制台或计算机窗口系统,而是像虚拟机一样在它自己的显示环境 Web 浏览器中解释和显示结果。不幸的是,这些浏览器都没有被编程来解释 Python 代码。

第三—— Python 是一种非常高级的语言,这意味着它是由低级语言设计的。在有 Python 之前必须有 C。在有 C 之前必须有 Assembly。在有汇编之前必须有机器语言。计算机代码以某种可以与生物学相提并论的方式在复杂性上进化。 Javascript 也是非常高度进化的,但它的进化完全依赖于 Web 浏览器。 Python 的发展依赖于终端仿真器和计算机的窗口系统 [X11、MacX 或 DWM]

关于python - 将 Python 代码转换为 Django 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432214/

相关文章:

python - 无法使用 urlfetch 或 urllib2 从 App Engine 开发服务器连接到外部服务

django - 在DRF中嵌套ViewSet路线

image - 图像到单张和正方形的转换

java - Mat.dump() 的 OpenCV java 实现返回不准确的数据

python - 如何在 Python 中实现一个行为类似于序列的最小类?

python - 使用 Flask ReSTLess 自定义 GET 方法

python - 更改 lxml 中的元素命名空间

django - 我使用 super() 的建议不正确吗?

django - 由于 egg_info 错误,无法通过 pip 安装

python - 手势检测