我有一个GUI项目,我即将开始。GUI需求很简单(尽管不像tkinter所能满足的那样简单)。因此,我需要使用python的GUI工具包(如果我必须使用GUI,它将是wxpython )。现在我在想,为什么我不能使用简单的web框架,比如cherrypy或bottlepy (对不起,如果我想错了。我是服务器端编程的新手),创建html页面作为我的图形界面,并使用DOM (同样,我想我是正确的),而不是使用wxpython来创建整个GUI。然后,我可以编写我所有的业务逻辑,剩下的就交给简单的html渲染,这样我就不必花更少的时间来格式化表格,创建按钮和表单,以及担心大小。
我的问题是:有人可以使用cherrypy或类似的web服务器python包而不使用图形工具包吗?这真的是有益的吗,还是我把这件事想得颠倒了?
我所期待的好处:
我可以使用jquery来实现许多特性,这些特性可能需要花费很多时间来使用wxpython或其他GUI工具包来创建。例如,如果我想拥有类似于jquery的自动补全功能,那么在像wxpython这样的GUI工具包中就有很多不同的故事。而且,很多拖放功能在html中都很容易实现。
发布于 2012-04-04 23:15:38
是的--这只是一个web应用程序,而不是本机应用程序。
优点包括可移植性(假设您可以在任何设置上运行python代码--不确定应用程序的用途),并且不需要处理烦人的布局问题和TK事件等。
然而,您也正在戏剧性地改变您正在进行编程的范例。根据你的目标,这可能无关紧要。
至于使用web框架:
在最简单的情况下,您可以在CGI下运行一组python脚本。或者你可以得到一个带有数据库抽象层(DAL/ORM)的MVC框架,比如django或web2py。
如果您想快速启动和运行,我建议使用apache --安装简单,并带有一个内置的服务器,因此您不需要设置一个web2py实例,也不需要为代理或mod_wsgi或所有这些优点而烦恼。
如果你有一段时间没有标记网页,你绝对应该去w3c ( http://www.w3schools.com/ )复习一下CSS/HTML。
是的,web2py将允许您运行任何python模块/包,尽管您必须学习如何处理客户端-服务器模型,并认识到客户端事件必须在javascript中处理,而python代码只能在服务器上执行,然后只能从请求URI执行。
简而言之,将会有一些“胶水”代码,但这正是web2py擅长的。
http://web2py.com https://www.djangoproject.com/ http://wiki.python.org/moin/CgiScripts
享受吧!
发布于 2012-04-04 23:13:27
你是对的但是don't roll your own。
发布于 2012-04-04 23:58:53
你的想法完全正确。基于python的框架有很多,只需选择一个:金字塔,塔架,django是最流行和使用最广泛的。
我建议你把HTML/CSS切片外包给一些专业人士,而不是自己做。你可以面对很多特定于浏览器的事情,这会浪费你的时间,但对于一个有经验的人来说,这是显而易见的。
https://stackoverflow.com/questions/10013904
复制相似问题