Python web框架的入门门槛低
我正在寻找一种LAMPish/WAMPish体验。Python web框架的入门门槛低
东西很透明。编写脚本,按F5并查看结果。很少,如果有抽象的话。 SQLAlchemy和(也许)一些简单的模板引擎将被使用。
我需要简单的访问环境 - 类似于PHP的方式。像COOKIE,SESSION,POST,GET对象。
我不想写一个中间件层来让一些web服务正常运行。我不想处理CGI的细节。
这并不意味着一个非常复杂的项目,它适用于开始程序员和/或开始Python程序员。
一个MVC框架不是不可能的。 ASP.NET MVC很好地完成了IMO。我喜欢的一件事是,如果需要,POST数据会自动转换为数据模型对象。
你能帮我一下吗?
谢谢! PS:我在旧帖子中没有找到符合这些标准的任何内容。
对于进入门槛低,web.py是非常非常轻和简单。
特点:
- 容易(开发)部署... web.py文件夹复制到您的应用程序目录,然后启动服务器
- 正则表达式为基础的URL映射
- 非常简单的类映射
- 内置服务器(大多数框架当然有这个)
- 非常薄(至少通过代码行测量)python应用程序代码层。
这里是它的的Hello World:
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()
虽然我很喜欢WERKZEUG概念,在你好,世界书写WSGI管道!是非常不愉快的,完全妨碍了实际演示应用程序的方式。
也就是说,web.py是不完美的,而对于大的工作,它可能不是正确的工具,因为:
- 路线风格的系统(恕我直言)比纯更好的正则表达式的人
- 将web.py与其他中间件集成可能是冒险的
CherryPy可能是你需要的。它透明地将URL映射到Python函数,并处理所有的cookie和会话内容(当然还有你的POST/GET参数)。
这不是像Django或Rails这样的全栈解决方案。另一方面,这意味着它不会让你使用模板引擎或者你不喜欢的ORM;你可以随意使用你喜欢的任何东西。
它包含一个WSGI兼容的Web服务器,所以你甚至不需要Apache。
别忘了Bottle。这是一个单一文件的微型网页框架,没有依赖性,使用起来非常简单。下面是一个“Hello World”的例子:
from bottle import route, run
@route('/')
def index():
return 'Hello World!'
run(host='localhost', port=8080)
这里访问POST变量的例子(cookie和GET瓦尔相似)
from bottle import route, request
@route('/submit', method='POST')
def submit():
name = request.POST.get('name', 'World')
return 'Hello %s!' % name
“我不想只写一个中间件层让一些网络服务正常运行,而我不想处理CGI的细节问题。“我不确定如何解释:使用中间件(即Web框架)来避免CGI的细节。 “中间件”是什么意思?你能给个例子吗? – 2009-06-04 09:56:27
我不想处理我的应用程序和Web服务器之间的接口。它应该只是工作。在看过“werkzeug”的情况下,我想我会提到它。也许我对“中间件”这个词的选择是错误的。 – user51710 2009-06-04 11:28:33
“它应该只是工作”并不意味着太多。有一个界面。有人必须编写通过该接口交换数据的代码。我没有真正明白这个问题 - 仍然 - 你能提供一些符合你的“正常工作”标准的细节或示例代码吗? – 2009-06-04 17:16:08