Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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
面向小型团队的pythonweb框架_Python_Django_Pylons_Cherrypy - Fatal编程技术网

面向小型团队的pythonweb框架

面向小型团队的pythonweb框架,python,django,pylons,cherrypy,Python,Django,Pylons,Cherrypy,我有4天的假期,我将利用这段时间在python web框架中重写RoR(Ruby on Rails)应用程序,只是为了好玩;-](为什么不切换,RoR很好,但一直在变化,可能会让人筋疲力尽。) 我对PythonWeb框架不太了解,我很高兴看到web.py、django、cherry.py、pylons/pyramid和其他一些。我们的要求是(一切都可以无关): MVC(严格与否) 小型团队(2-3人,包括一名设计师) 使用起来很有趣 休息支撑 多级缓存(数据库查询、页面缓存) Nginx支持(

我有4天的假期,我将利用这段时间在python web框架中重写RoR(Ruby on Rails)应用程序,只是为了好玩;-](为什么不切换,RoR很好,但一直在变化,可能会让人筋疲力尽。)

我对PythonWeb框架不太了解,我很高兴看到web.py、django、cherry.py、pylons/pyramid和其他一些。我们的要求是(一切都可以无关):

  • MVC(严格与否)
  • 小型团队(2-3人,包括一名设计师)
  • 使用起来很有趣
  • 休息支撑
  • 多级缓存(数据库查询、页面缓存)
  • Nginx支持(X-Accel-Redirect文件下载)
  • 交通拥挤(120万次)
  • URL重写(多域不仅支持子域)
  • 如果不是炒作,那也不是问题
  • 如果没有插件,这不是问题
  • SQL或NOSQL(尝试NOSQL可能很有趣)

那么您的建议是什么呢?

我推荐DJANGO或TurboGears。

我认为大多数大型框架都能满足您的需求,所以您可能会从您正在编写的应用程序的角度来看待它。你想“开箱即用”完成多少工作。您需要用户管理吗?你需要一个管理面板等

我使用Django,当您不想重写大量样板文件时,它非常棒。有时尝试弯曲它来做你想做的事情可能有点乏味,但一旦你能理解它的复杂性,你就能很快完成事情

不管怎样,对于Django:

  • MVC(严格与否)

    不是MVC,而是类似的

  • 小型团队(2-3人,包括一名设计师)

    不确定该框架将如何影响这一点,但是的,通过版本控制,您可以自己或与团队快速开发该框架

  • 使用起来很有趣

    因为有很多很棒的文档,所以花在拔头发上的时间更少,而且你可以很快开始工作,这很好

  • 休息支撑

    是的,作为库:>

  • 多级缓存(数据库查询、页面缓存)

    是的>

  • Nginx支持(X-Accel-Redirect文件下载)

    同样,我不确定这是否相关,但可以。我将nginx与UWSGI结合使用,速度非常快

  • 交通拥挤(120万次)

    >

  • URL重写(多域不仅支持子域)

    对此不确定

  • 如果不是炒作,那也不是问题

    它不是node js,但还是有很多非常好的文档

  • 如果没有插件,这不是问题

    有。。。。我的天啊,那里有

  • SQL或NOSQL(尝试NOSQL可能很有趣)

    开箱即用SQL,但支持NOSQL>


我认为任何主要的web框架都不会出错。就我个人而言,我使用Django最多,并且会以这种方式学习,ORM真的很棒,它的理念/设计与我个人的偏好紧密相关。然而,如果你想走另一条路,这是一个非常有趣的轻量级微框架,我发现开发它是一种乐趣。如果您想使用NoSQL,MongoDB有很好的Python支持。非常好(也是从Python中推荐使用MongoDB的方法),是一个很好的小ORM(如果您喜欢这类东西)。

在您提到的框架中,Django的势头最强劲,最有可能符合您对Rails背景框架的理想。我的意思是,它有一些助手,允许您快速生成表单,尽管没有脚手架。(事实上,Django的方式比Rails中的脚手架要好一点,因为您可以使用全部或部分)

它有一个很好的ORM,有很多辅助方法,并且,它的一个最好的特性是,一旦你定义了你的模型,它就有一个功能齐全的管理界面。即使站点正在开发中,您也可以开始移植数据

它还提供出色的用户支持,包括权限、访问控制、组、用户配置文件

创建自己的中间件和上下文处理器很容易(也很有趣),它们可以让您将经常重用的部分抽象出来作为框架的插件

上面指定的Django唯一没有的特性是NoSQL支持。这只是事实的一半。如果您想为应用程序的某些部分(如会话存储)使用非关系数据库,您可以。如果你想用它作为你的独家后端,除非你用它来修补Django,否则你将失去Django的一些很棒的特性


我使用了涡轮齿轮,它是您提到的其他几种选择的组合。该社区中有一些很棒的人,但他们目前正在经历一次重大的架构改造,老实说,他们没有Django那样受到开发人员的关注。

除了提到的其他框架(这些都是不错的选择),你应该去看看。这是一个功能丰富的全栈框架,非常容易设置、学习和使用。它最初的灵感来自RubyonRails,因此如果您正在重写RoR应用程序,您可能会发现它比其他一些Python框架更舒适。以下是有关您的要求的一些详细信息:

  • MVC:
  • 休息支持:
  • 多级缓存(数据库查询、页面缓存):
  • Nginx支持:
  • URL重写:
  • 如果没有插件,这不是问题
  • SQL或NOSQL(尝试NOSQL可能很有趣)
    • SQL支持:SQLite、PostgreSQL、MySQL、Oracle、MSSQL、FireBird、DB2、Informix、Ingres、Cubrid
    • NoSQL sup