Rails还是Pylons -- 有好的Python框架吗?
我没有网页应用的背景,但在C++方面有一些经验,而且我学习能力很强。
我花了一些时间学习Python,并且阅读了SQLAlchemy的相关内容。我挺喜欢用纯Python面向对象编程的想法,然后用一个不错的SQLAlchemy映射器来保存所有数据。我觉得这种解耦的方法(用纯Python类和一个映射函数来与数据库沟通)比Rails的ActiveRecord方式要好。我认为这样我能更好地控制数据库和应用之间的连接。(我需要处理一个由后台进程更新的数据库,类似于一个填充数据库的网络爬虫。)
同时,有些东西让我重新考虑Rails,比如Rails中简化的电子邮件和Ajax处理。
我是不是在想对了方向?Rails在表单验证和数据库操作方面是不是不够灵活?在Pylons中处理电子邮件(通知)、RSS和Ajax是不是更难?
你有什么建议吗?谢谢!
8 个回答
Rails是用Ruby语言写的,不是Python。如果你特别喜欢Python,那就选择Django吧。不过,别忘了给Rails一个机会;ActiveRecord并不是唯一的ORM(对象关系映射)工具。我在一些应用中也用过DataMapper。可能我有点偏见,但我觉得Rails的生态系统比Django的要大。
看看这些Python框架:
Django:可能是最受欢迎的Python框架,优点和缺点都有,它是一个非常完整的解决方案。
Pylons:为了应对Django的工作方式,Pylons在模块的组合上更加灵活,优缺点都有。
TurboGears:这是Django和Pylons之间的一个折中方案,TurboGears基于Pylons,但提供了一些现成的组件选择和连接它们的方式。
Zope:Zope更像是一个应用服务器和框架,而不是一个传统的“网络框架”。它恰好是基于网络的。
前面提到的三个框架都受到Ruby on Rails的启发,但每个框架都有自己改进的想法。Zope比Rails早出现,是一个独立的世界。
我用TurboGears开发过几个小应用,感觉还不错。当时他们的文档有点差,希望现在有所改善。
我也直接使用过Python Paste几次。Paste是Pylons和TurboGears的基础HTTP服务器,使用起来也很不错。
另外:在有选择的情况下,我总是使用SQLAlchemy作为ORM。这真的是一款令人印象深刻的软件,我甚至在非网络项目中也用过。
希望这些信息对你有帮助。告诉我们你选择了哪条路。:-)
你可以看看Django。听起来这正是你想要的东西 :-).