选择什么样的web框架

2024-06-30 05:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我是从javaworld(apachewicket)提交的,需要在我的项目中使用python。在

我听说过Turbogear2Pyramid(塔架)或{a3},并读了一些关于它们的文章。 我的第一选择是在塔架上建造的涡轮齿轮2,工具已经打包好了,但是 也许有人给你一些建议。在

我不需要创建很多像wiki或blog这样的内容,而是表示和 允许访问我数据库中的一些对象,然后构建一个javascript接口 来处理这些数据。在

我需要web框架为我做的:

  • 具有角色(管理员、用户、组等)的身份验证系统
  • 在应用程序外使用增强的javascript工具,如dojo,但是 如果我可以在应用程序和javascript库之间共享组件,那就太好了。在
  • 简单AJAX:组件必须刷新“onChange”(我不喜欢提交按钮)
  • 很好。不知道SQLAlchemy但似乎很好,将对象映射到/来自数据库、数据库池等,。。。。在
  • 易于部署(来自java,我认为可以)
  • 轻松添加css或js到页面
  • 一个不会让我心烦意乱的框架;)
  • 良好的文档和/或良好的支持

  • 线程/多进程支持(有很多计算。他们中的一些人占用了大量的内存,而另一些人则占用了大量的内存 处理时间。所以我想让procees退出应用程序。但我觉得更多的是关于using a python library 与这个问题无关吗?)

泰铢


Tags: 工具项目对象内存框架pyramid数据库应用程序
3条回答

正如S.Lott在他的评论中指出的,您的需求并没有给出一个明确的“赢家”,因为至少大多数框架都具有这种能力。在

python web框架在三个维度上的分歧更大是IMO:

  • 接近“Python”概念
  • 轻巧
  • 间接费用

一般来说,较轻的框架会:需要更多的开销,并且有一个更python的方法(webpy、cherrypy…),而较重的框架(django、turbogear…)可以让你在几分钟内启动并运行你的应用程序,但会以某种方式迫使你以某种方式(逻辑上但不一定是pythonic)塑造你的代码。在

也就是说,我相信你95%的答案取决于个人喜好。在

啊!在

对我自己来说,金字塔里的魔术师+炼金术才是最终的决定。如果你对一些不错的数据库工作感兴趣,SqlAlchemy就是最好的选择。我也是mako模板的超级粉丝。在我的书中,在mako中创建可重用的表示类型函数的能力与尝试在python模块中执行的操作相比是一个优势。在

我真正想提到的是,对于你的最后一个项目,你应该真正地考虑通过使用一个消息队列和类似于Celery这样的东西来将这些东西转给外部的工人来完成工作,并更多地使用web应用程序来提交/显示结果,而不是实际尝试将工作从web应用程序中分离出来。在

除了您提到的框架之外,您还应该确定地查看web2py。我认为您会发现它是最容易设置、学习和使用的,尤其是考虑到它提供的功能的广泛性。如果它的primary goals不是“打断你的神经”,它包括一个极好的authentication system;集成的Javascript/AJAX支持(另请参阅components);一个快速而强大的database abstraction layerweb servicesautomatic RESTful API generation;很棒documentation;以及非常有用且反应迅速的{a10}。开发是非常活跃的,至少每个月都有新版本(没有破坏向后兼容性)。这是最近的presentation。在

相关问题 更多 >