跳转到主要内容

受Sinatra启发的Python网络框架

项目描述

霍布肯
=======

[![构建状态](https://secure.travis-ci.org/andrew-d/Hoboken.png?branch=master)](http://travis-ci.org/andrew-d/Hoboken)

霍布肯是一个类似于Sinatra的Python网络框架。它旨在使编写简单的网络应用变得既容易,又提供足够的强大功能以完成更复杂的事情。霍布肯官方支持Python 2.6、2.7和3.2(因为这些是WebOb支持的平台)。非官方地,测试在Python 3.0(但不是3.1)上通过。

目前,霍布肯处于alpha阶段。有许多测试(实际上,测试覆盖率是100%),但文档略少。话虽如此,这里有一个简单的“Hello World”应用程序

from hoboken import HobokenApplication

app = HobokenApplication(__name__)

@app.get("/")
def index()
return 'Hello world!'

下面是一个演示霍布肯更多功能的另一个应用程序

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服务器来托管此应用程序(因为霍布肯应用程序是WSGI应用程序)。还有一个内置的测试服务器,因此如果我们使用此服务器来测试我们的应用程序:`app.test_server(port=8080)`,我们可以这样做

$ curl -ik http://localhost:8080/greet/John
HTTP/1.0 200 OK
Date: Thu, 19 Jul 2012 00:00:00 GMT
Server: WSGIServer/0.1 Python/2.7.3
Content-Type: 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)
注释:这个函数在实际路由之前运行。待办事项:进行一些认证。
pass

@app.get("/")
def index()
return "欢迎使用本应用!"

@app.get("/books/:author/*")
def get_book(title, author=None)
return "寻找书籍 '{0}' 由 '{1}'"。format(title, author)

@app.post("/books/:author")
def add_book(author=None)
return "为 '{0}' 添加了书籍"。format(author)

好了!这里是Hoboken的一些简单演示。


杂项
-----------

Hoboken遵循Apache许可证,由Andrew Dunham创建和开发。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

Hoboken-0.5.1.tar.gz (30.1 kB 查看哈希值)

上传时间

由以下机构支持