Skip to main content

一个受 Sinatra 启发的 Python 网络框架

项目描述

霍博肯
=======

[![构建状态](https://secure.travis-ci.org/andrew-d/Hoboken.png?branch=master)](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 创建和开发。

下载文件

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

源分布

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

已上传 source