什么是好的轻量级Python MVC框架?
我知道那里有大量的Python框架。你们能指出我正确的方向吗?我主要关心的是简单性,我不需要很多多余的功能。
这是我想要(或者不想要)的其他几件事:
- 不在乎ORM,只希望它与MySQL一起使用
- 具有可配置的路线
- 支持布局
解决方案
回答
Django!
Google App Engine使用它。
我也将其用于自己的宠物项目。
回答
Django的。我们不必使用其他功能,并且它的设计很好,因此我们可以根据需要混合使用nrd-party第三方库。
回答
是的,我想说的是Django绝对是要走的路。它的模块化设计确保我们可以混合和匹配组件(ORM,模板引擎,URL分配等),而不是被框架提供的组件所困扰,我们可以将其替换为任何第三者。
回答
我对Python真的很陌生,但尝试了一些安静的方法,特别是Django和web2py。
我喜欢web2py的简单性,几天之内就可以创建一个中等复杂性的网站。
它具有一套不必要的功能,包括DAL,代码生成,HTML hlpers,对我而言,最重要的功能是站点中的文档非常完整。
回答
Django是我的推荐。
我们可以在此处找到其介绍(Jacob Kaplan-Moss的Google技术讲座):
我们可能还想看看DePaul大学蛇与红宝石在Adrian Holovaty的演讲:
回答
塔架。
它比django好得多,并且没有附带糟糕的ORM。
回答
尝试一下web.py。它非常简单,可以提供我们正在寻找的极简主义。
回答
如果我们想要简单的东西,而不必创建自己的框架,同时又不包含所有内容(django),则可以尝试CherryPy。它几乎可以使用任何调度程序(页面处理程序/ URL路由系统)。我们还必须选择自己的模板引擎,Genshi是我的最爱。
回答
我来看看塔架;它轻巧,快速。
回答
我也在Django船上。原因如下:
- 我们可能会使用Django的管理界面来节省时间,以避免手动查询。
- Django的模板系统很棒
- Django有一个WONDERFUL社区,非常渴望提供帮助(请参阅freenode上的#django)
回答
人们已经给出了许多有关Web应用程序框架的答案,但是MVC(或者任何其他范例)并不仅仅局限于Web。这只是为了清楚起见。
如果我们是关于普通MVC的,则Pylons以更严格的方式符合范式。 Django解释了MVC,他们将其称为model-template-view,但是角色分离的思想是相同的。实际的选择取决于个人喜好,尽管我都不认为这两个都是轻巧的(Pylons可能看起来较轻,但实际上并非如此),最近Django增加了一些额外的重量,很可能甚至无法容纳20MB的小型应用程序,例如个人博客常驻内存)。
当然,没有什么可以阻止我们编写自己的框架,例如。与WebOb。我们可以根据需要使其变轻(并学习许多尝试的方法)。
回答
由于我们明确地不希望使用ORM,因此如果我们是我,我将远离"全栈"框架。 Python的WSGI标准为我们提供了大量易于使用的选项,这些选项将为我们提供所需的功能,甚至让我们选择自己的工作方式。
这是一个示例:对于URL分配,我们可以使用Routes,它通过Rails的URL分配样式进行移植。或者,如果该样式更适合我们,则可以将Selector与WebOb结合使用。
对于"布局",如果我们想要无法运行代码的模板,则可以使用功能强大的Jinja2. 或者,Mako,如果我们希望能够在模板中混入一些代码。我们甚至可以使用"投放控制"来控制由多种应用甚至多种语言组成的页面的布局!
全栈式Web框架很不错,因为它可以为我们做出很多选择,让我们只关注建筑物中的应用程序。但是,我上面列出的选择是一个很好的集合,可以逐步构建自己的选择。如果沿着这条路走,我们会发现很容易插入Beaker进行缓存和会话(如果需要),或者使用WebError来进行调试。
就个人而言,我是ORM(尤其是SQLAlchemy)的忠实拥护者,但是如果我们希望使ORM成为免费且轻量级的整体产品,那么我们就不能不使用Python中提供的出色WSGI组件。
回答
web2py! dnugo称控制器为视图," nuf说。
回答
web2py是265KB的源代码,并且包含1.2MB(包括4.6MB的Django)。但是web2py可以满足所有需求(管理会话,cookie,请求,响应,缓存,国际化,错误/票证,GAE,SQLite,MSSQL,MySQL,Postgres,Oracle,FireBird等的数据库抽象)。只需解压缩并单击它,就可以在浏览器中进行开发。
Web2py同时具有路由和反向路由。
Web2py具有分层模板系统,这意味着视图可以扩展布局,可以扩展其他布局,等等。视图还可以包括其他视图。
回答
对于桌面应用程序,Dabo是一个不错的选择。它是wxPython之上的跨平台框架,支持MySql,Postgresql,Firebird和Sqlite。
回答
如果我们想简化操作,请使用web2py或者pylon。 Django很好...但是学习曲线很陡
回答
我们想要web2py。核实:
- 不在乎ORM,只希望它与MySQL一起使用
Web2py没有ORM,但是它确实具有基于SQL的语法包装,这使得执行SQL变得容易得多。
- 具有可配置的路线
- 支持布局
... web2py兼有这两个。
和web2py相比django / rails /更轻便,几乎所有方面。非常容易学习。学习MVC框架最困难的事情是脚本,ORM和(使用django)模板语言。但是web2py摆脱了脚本,简化了ORM,并且模板语言只是rad聪明的方式只是python。