Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择什么web框架_Python_Django_Pylons_Pyramid_Turbogears2 - Fatal编程技术网

Python 选择什么web框架

Python 选择什么web框架,python,django,pylons,pyramid,turbogears2,Python,Django,Pylons,Pyramid,Turbogears2,我来自java世界(ApacheWicket),需要在我的项目中使用python 我听说过(塔架)或者读过一些关于它们的书。 我的第一选择将是TurboGears2,它建造在塔架之上,工具已经打包,但是 也许有人会给你一些建议 我不需要创建很多内容,比如wiki或blog,而是表示和 授予对数据库中某些对象的访问权限,然后构建javascript接口 来处理这些数据 我需要web框架为我做什么: 具有角色(管理员、用户、组等)的身份验证系统 使用增强的javascript工具,比如在应用程序之

我来自java世界(ApacheWicket),需要在我的项目中使用python

我听说过(塔架)或者读过一些关于它们的书。 我的第一选择将是TurboGears2,它建造在塔架之上,工具已经打包,但是 也许有人会给你一些建议

我不需要创建很多内容,比如wiki或blog,而是表示和 授予对数据库中某些对象的访问权限,然后构建javascript接口 来处理这些数据

我需要web框架为我做什么:

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

  • 线程/多进程支持(有很多计算。其中一些占用大量内存,另一些占用大量内存 处理时间。所以我希望能够从应用程序中启动进程。但我认为更多的是关于 与这个问题无关吗?)


THX

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

python web框架在以下三个方面的分歧更大:

  • 接近“pythonic”的概念
  • 轻盈
  • 头顶
通常,较轻的框架会:需要更多的开销,并且采用更具python风格的方法(webpy、cherrypy…),而较重的框架(django、turbogear…)会让你的应用程序在几分钟内启动并运行,但不知何故会迫使你以某种方式(逻辑上但不一定是python风格的)塑造代码

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


对我来说,金字塔中的mako+sqlalchemy是达成交易的关键。如果您正在从事一些体面的数据库工作,那么SqlAlchemy就是最好的合作伙伴。我也是mako模板的超级粉丝。在我的书中,能够在mako本身中创建可重用的表示类型函数,而不是尝试在python模块中执行最终尝试导入的操作,这是一个优势

我真正想提到的是,对于您的最后一项,您应该真正考虑使用消息队列和类似的方式将这些内容分发给外部员工,并更多地使用web应用程序进行提交/结果显示,而不是实际尝试将工作从web应用程序中分离出来

一篇评论文章

我喜欢塔架(现在被金字塔取代)的特性和Django框架对新计划的广泛支持(尽管它并不热衷于重新发明这么多轮子,尤其是MVC)

我喜欢中的数据抽象层,它支持部署到Google的AppEngine。这是我做出决定的一个关键特征。Web2py受到了RoR的启发,有些人可能会回避,但我很欣赏,到目前为止,它并没有阻碍任何发展道路


最后,在尝试了几个框架之后,我使用了Web2py(使用作为参考)。A响应速度非常快。

除了您提到的框架之外,您一定要查看。我认为您会发现它是最容易设置、学习和使用的,特别是考虑到它提供的功能的广泛性。一个是为了不“伤你的神经”;综合支助(另见附件);快速而有力的;伟大的而且是一个非常有帮助和反应迅速的团队。开发是非常活跃的,至少每个月都有新的版本(不破坏向后兼容性)。下面是最近的一个例子。

所有框架都会这样做。除了您已经完成的工作之外,我们无法提供更多的帮助。我们能做的最好的事情就是给你扔一枚硬币。虽然我并不反对SqlAlchemy(它肯定拥有大量的用户群),但我认为说“这是最好的合作方式”实际上更多的是个人观点而不是事实。首先,我更喜欢Canonical的,它没有那么多功能。。。炼金术它的工作更加透明,它更轻,更快,让你可以更好地控制你的数据库。(我不是说它绝对更好,我只是说它不同于SqlAlchemy,而且——在我大部分的工作中——它是一个比SqlAlchemy更好的解决方案……当然,但是在使用Django ORM、玩Storm之后,我发现SqlAlchemy是最好的解决方案,因为我是一个Ubuntu规范迷,并且查看了launchpad的一些代码库rk with.它分解为原始sql,速度比其他sql慢得多,这在您尝试编写后端不可知的应用程序时有点成功。