一个受 Sinatra 启发的 Python 网络框架
项目描述
霍博肯
=======
[](http://travis-ci.org /andrew-d/Hoboken)
Hoboken 是一个类似于 Sinatra 的 Python 网络框架。它试图使编写简单的 Web 应用程序既容易,又提供足够的能力来完成更复杂的事情。Hoboken 正式支持 Python 2.6、2.7 和 3.2(因为这些是支持 WebOb 的平台)。非正式地,测试通过 Python 3.0(但*不是* 3.1)。
目前,Hoboken 处于 alpha 阶段。有很多测试(实际上,测试覆盖率是 100%),但是文档有些缺乏。也就是说,这是一个简单的“hello world”应用程序:
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.get("/")
def index():
return 'Hello world!'
这是另一个演示 Hoboken 更多功能的应用程序:
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.get("/greet/:name")
def greeting(name=None):
app.response.json_body = {
"greeting": "Hello {0}!".format(name)
}
然后您可以使用任何 WSGI 服务器托管它(因为 Hoboken 应用程序是 WSGI 应用程序)。还有一个内置的测试服务器,所以如果我们用它来测试我们的应用程序:`app.test_server(port=8080)`,我们可以这样做:
$ curl -ik http://localhost:
日期:2012 年 7 月 19 日星期四 00:00:00 GMT
服务器:WSGIServer/0.1 Python/2.7.3
内容类型:text/html;charset=UTF-8
Content-Length: 26
{"greeting":"Hello John!"}
最后,这是一个更长的例子:
from __future__ import print_function
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.before("/admin /*")
def authenticate(path):
# 这在实际路由之前运行。TODO:做一些身份验证。
通过
@app.get("/")
def index():
return "Welcome to the app!"
@app.get("/books/:author/*")
def get_book(title,
return "寻找书 '{0}' by '{1}'".format(title, author)
@app.post("/books/:author")
def add_book(author=None):
return "Added book for '{0}'".format(author)
好了!霍博肯工作原理的一些简单演示。
Miscellanea
-----------
Hoboken 在 Apache 许可下获得许可,由 Andrew Dunham 创建和开发。
=======
[](http://travis-ci.org /andrew-d/Hoboken)
Hoboken 是一个类似于 Sinatra 的 Python 网络框架。它试图使编写简单的 Web 应用程序既容易,又提供足够的能力来完成更复杂的事情。Hoboken 正式支持 Python 2.6、2.7 和 3.2(因为这些是支持 WebOb 的平台)。非正式地,测试通过 Python 3.0(但*不是* 3.1)。
目前,Hoboken 处于 alpha 阶段。有很多测试(实际上,测试覆盖率是 100%),但是文档有些缺乏。也就是说,这是一个简单的“hello world”应用程序:
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.get("/")
def index():
return 'Hello world!'
这是另一个演示 Hoboken 更多功能的应用程序:
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.get("/greet/:name")
def greeting(name=None):
app.response.json_body = {
"greeting": "Hello {0}!".format(name)
}
然后您可以使用任何 WSGI 服务器托管它(因为 Hoboken 应用程序是 WSGI 应用程序)。还有一个内置的测试服务器,所以如果我们用它来测试我们的应用程序:`app.test_server(port=8080)`,我们可以这样做:
$ curl -ik http://localhost:
日期:2012 年 7 月 19 日星期四 00:00:00 GMT
服务器:WSGIServer/0.1 Python/2.7.3
内容类型:text/html;charset=UTF-8
Content-Length: 26
{"greeting":"Hello John!"}
最后,这是一个更长的例子:
from __future__ import print_function
from hoboken import HobokenApplication
app = HobokenApplication(__name__)
@app.before("/admin /*")
def authenticate(path):
# 这在实际路由之前运行。TODO:做一些身份验证。
通过
@app.get("/")
def index():
return "Welcome to the app!"
@app.get("/books/:author/*")
def get_book(title,
return "寻找书 '{0}' by '{1}'".format(title, author)
@app.post("/books/:author")
def add_book(author=None):
return "Added book for '{0}'".format(author)
好了!霍博肯工作原理的一些简单演示。
Miscellanea
-----------
Hoboken 在 Apache 许可下获得许可,由 Andrew Dunham 创建和开发。