满足API服务器需求的最佳Python Web框架

满足API服务器需求的最佳Python Web框架,python,mysql,api,frameworks,Python,Mysql,Api,Frameworks,我正在开发两个系统: 一个不断从第三方数据源检索经济数据并将其推入MySQL数据库的系统(使用sqlalchemy) 允许任何人通过JSON AJAX API(类似于Yelp或Yahoo API)查询数据库中数据的服务器 我有两个主要问题: 在2)中我应该使用哪个Python框架?金字塔是我的第一选择,但是如果你强烈反对它,或者赞成一些像Django或Palon之类的东西,我肯定会考虑它。李> 我应该分别开发这两个系统吗?或者1)应该是2)的一部分,在框架内运行(例如使用crontab或芹菜)

我正在开发两个系统:

  • 一个不断从第三方数据源检索经济数据并将其推入MySQL数据库的系统(使用sqlalchemy)
  • 允许任何人通过JSON AJAX API(类似于Yelp或Yahoo API)查询数据库中数据的服务器
  • 我有两个主要问题:

  • 在2)中我应该使用哪个Python框架?金字塔是我的第一选择,但是如果你强烈反对它,或者赞成一些像Django或Palon之类的东西,我肯定会考虑它。李>
  • 我应该分别开发这两个系统吗?或者1)应该是2)的一部分,在框架内运行(例如使用crontab或芹菜)
    根据您所处的阶段,我建议您开发两个系统,因为从第三方提取数据的负载和处理API的负载是不同的。如果需要,可以将它们缩放为不同类型的节点


    Django Tastypie(https://github.com/toastdriven/django-tastypie)不错,它支持所有JSON、XML和YAML。您还可以轻松地添加OAuth。尽管如此,Django本身在这个时候对您的需求来说可能有点沉重。

    您可能希望查看新功能,以便轻松生成,特别是它的和函数。您也可以考虑使用Web2Py来处理γ1。
    如果您需要任何帮助,请访问。

    我同意Anthony的观点,您应该查看Web2Py。它非常容易上手,学习能力非常低,并且易于部署在许多系统上,包括Linux、Windows和Amazon

    到目前为止,我还没有发现Web2Py做不到的事情。但更重要的是,它会按照你认为应该做的事情来做,所以如果你不确定,通常一个猜测就足够了,而且它就是有效的。如果您确实陷入困境,那么它拥有迄今为止最好的、最新的Python Web框架文档


    即使它有着强大的功能、易用性和最新的文档,你也会发现谷歌上的web2py用户群就像一个24小时工作的付费服务台。大多数问题只需几分钟就可以回答,Massimo(Web2Py的原始创建者)不仅会尽力提供帮助,而且会在小组提出新想法、建议和错误修复后的几天内实施这些想法、建议和错误修复。

    我建议用活塞来运行django。这将为您提供一个很好的RESTful平台,该平台可以直接处理json。但是,如果您预期web端会增长,那么最好将其放在单独的项目中。这样升级就不会中断数据收集工具。谢谢!为什么我要在2)中使用REST而不是SOAP或纯JSON?我真的不确定哪一个会更好….+1在带活塞的django上。活塞为您处理引擎盖下的请求,并让您轻松定义URL和一个简单的CRUD样式处理程序。它的开箱即用事件将只是映射到您的模型为您的行动。已内置auth。另外还有django authkey,它为活塞生成api键。使用活塞设置多格式API的工作量要少得多。支持json xml yaml,甚至可以让您编写自己的Emitter感谢您的响应!首先,我明白你所说的拥有两个不同的系统。但是,最初,这些系统将运行在同一台机器和同一个数据库上。与两个应用程序访问数据库相比,使用相同的应用程序访问数据库(1)和2)是否会使数据库访问速度更快?我也同意Django——我喜欢它,但我觉得它更适合像维基百科这样需要管理的系统。Django真的是我想要的吗?如果我正在原型化或构建一个alpha,我只会编写一个应用程序,但打开门将其拆分为两个。就访问速度而言,如果你计划使用一个DB,我认为你是对的,1应用程序使它运行得相对更快。但是,您应该不时地将数据库的副本从#1(读/写)复制到#2的只读副本,以用于测试版或生产版。我不是在建议或推动Django,但我喜欢tastypie,因为要启动并运行一个外观良好的API,您需要花费的时间是绝对最少的。此外,考虑烧瓶,它是轻量级的和快速的。Django不是面向一种或另一种系统的NEC。这就像拥有sqlalchemy,但是有一系列其他功能,如模板、url路由等。使用您想要的,而忽略其他功能。我认为它在一个地方包含了所有您需要的东西,可以一次性设计您的模型并为其提供api前端。您可以编写命令行脚本,以重用模型,并以各种方式向数据库提供信息。请注意,您是web2py的核心贡献者。首先,我不会将自己描述为核心贡献者(尽管我确实做出了贡献)。第二,为什么?我不是在发表意见或批评其他选择。我只提供了几个链接,详细说明了可能适合需要的功能,OP可以轻松评估这些功能,以确定它是否是一个可行的选项。我的身份无关紧要。因为我没有看到太多从事产品X工作的人推荐产品Y,而X和Y是相互竞争的产品。这就是为什么它被称为偏见。这就是为什么一般的做法是添加免责声明。天哪,我不是想冒犯你或其他什么,只是做了一个观察。同样,我也不是想冒犯你,只是做了一个观察,一个否认在这里是不值得的。我看到你没有回应我关于偏见的评论。