具有较低入门门槛的Python Web框架

use*_*710 4 python

我正在寻找LAMPish/WAMPish体验.

非常透明的东西.编写脚本,点击F5并查看结果.很少,如果有任何抽象.SQLAlchemy和(可能)将使用一些简单的模板引擎.

我需要简单的访问环境 - 类似于PHP方式.类似于COOKIE,SESSION,POST,GET对象.

我不想编写中间件层只是为了让一些Web服务正常运行.而且我不想处理CGI的具体细节.

这不适用于非常复杂的项目,它适用于初学程序员和/或初学Python程序员.

MVC框架不是不可能的.ASP.NET MVC很好地完成了IMO.我喜欢的一件事是,如果需要,POSTed数据会自动转换为数据模型对象.

你能帮帮我吗?

谢谢!

PS:我在旧帖子中找不到符合这些标准的任何内容.

小智 6

CherryPy可能就是您所需要的.它透明地将URL映射到Python函数,并处理所有cookie和会话内容(当然还有POST/GET参数).

它不是像Django或Rails那样的全栈解决方案.另一方面,这意味着它不会使您使用模板引擎或您不喜欢的ORM; 你可以自由地使用你喜欢的任何东西.

它包括一个符合WSGI的Web服务器,因此您甚至不需要Apache.


Ale*_*lli 5

在我看来,你所描述的最类似于Pylons的东西.但是,/用于Python的Web框架的数量是巨大的 - 请参阅此页面以尝试列出并非常简要地描述每一个! - )


Gre*_*ind 5

对于低进入门槛,web.py非常轻巧简单.

特征:

  • easy(dev)deploy ...将web.py文件夹复制到app目录中,然后启动服务器
  • 基于正则表达式的url映射
  • 非常简单的类映射
  • 内置服务器(当然大多数框架都有这个)
  • 在python应用程序代码上非常薄(通过代码行测量,至少)层.

这是它的问候世界:

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'world'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()
Run Code Online (Sandbox Code Playgroud)

在概念上我喜欢Werkzeug,在Hello,World中编写wsgi管道!非常不愉快,完全妨碍了实际演示应用程序.

也就是说,web.py并不完美,对于大型工作来说,它可能不是正确的工具,因为:

  • 路由样式系统(imho)比纯正则表达式更好
  • 将web.py与其他中间件集成可能是冒险的