我希望我在正确的StackExchange网站上询问。
我已经用Python编写了一个控制台程序,我想在其中放置一个Web界面,但是我很难决定选择哪种Web框架。我不需要太多,但我想避免在尝试使用它时不必要的工作。我不需要数据库(现在),所以这对我来说并不重要。
我看过Django,Web2py,bottle.py和web.py。
如果我从头开始,Django和Web2py似乎很棒,但我不是,并且似乎有点难以集成到现有代码中。
bottle.py和web.py几乎看起来似乎可以解决,但是它们是如此基本,我希望其他的东西不需要那么多模板的方式,因为这些似乎做。
我不是简单地想把控制台界面的副本放到浏览器中,而是为web界面定制它,所以我不一定要找到任何简单地将控制台应用程序包装成一个网络界面(虽然这也很有趣。)
答案 0 :(得分:2)
我建议Django。我已经将Django用于简单的静态站点和具有大量表单的站点,我不能说Django强加任何限制或强迫你写出数百个LoC,即使是简单的事情。相反,您可以获得很好的自动生成 administrative interface,内置ORM,internationalization tools和many other things。因此,您有很好的机会来增加应用的功能。此外,它还具有每个模块的最新文档等重要内容。
Tutorial需要几个小时,并提供足够的信息来开始开发成熟的网站。
答案 1 :(得分:2)
感谢continuation框架中实现的Nagare,您可以开发一个类似控制台或桌面UI应用程序的Web应用程序:将控制台代码放在component.Task
中,然后创建每个交互的一些组件,即一些视图,显示您在控制台应用程序中打印的数据并返回一些用户输入。然后,Nagare框架负责其余部分:无需声明URLS,将上下文从页面传递到下一个......
答案 2 :(得分:1)
这是一个很难的问题......我个人并不认为web.py是基本的'就像你说的那样。使用GET和POST函数将代码包装在某些类中应该非常容易并且完成。
此外,Django可以被缩小'原样:How do I write a single-file Django application?是关于此的整个对话。
我会说,什么是基本的'为了你?你曾提到过“模板化”,但是你会如何神奇地为你模板?有一些用于Web应用程序的开源模板,比如twitter引导程序,这种类型为您的下一个Web应用程序提供了现成的模板。 YUI和dojo也会做类似的事情(因为它们是完全成熟的JS框架,所以有很多不同的焦点)。
也就是说,有一个名为“铲刀”的全新项目。 (这里):https://github.com/seomoz/shovel
我还没有使用它,但它似乎将命令包装到Web界面中。你说的有趣'。
我个人使用web.py来处理我的所有网页内容。
答案 3 :(得分:0)
如果你想要实现它,PyQT会很方便,引用下面列出的RiverBank PyQT网站:
“QtWebKit模块实现了基于Apple Safari使用的WebKit开源浏览器引擎的Web浏览器引擎。它允许发布Python对象的方法和属性,并将其作为JavaScript对象显示在嵌入HTML页面的脚本中。”
来源:http://www.riverbankcomputing.co.uk/software/pyqt/intro
此外,如果不能做到这一点,不要放弃希望,因为还有“睡衣”非常方便!以下是对它的简要说明:
“睡衣是用于Web和桌面的富Internet应用程序(RIA)开发平台。
它包含一个Python-to-Javascript编译器,一个AJAX框架和一个Widget Set API。睡衣起源于Google Web Toolkit的Python端口,即Java-to-Javascript编译器。阅读常见问题解答和功能列表。“
通过以下网址找到:google.com
我会说当你总是想看看最好用的是什么时,在谷歌问你的问题,看看多个网站并将多个网站的最佳结果与你的问题进行比较,这实际上取决于你需要什么,你的强手在哪些方面发挥得更好。