其他WSI框架
corker的Python项目详细描述
啊![特拉维西状态](https://api.travis ci.org/jd boyd/corker.png)
http://www.ianbicking.org/blog/2010/03/12/a-webob-app-example/index.html
在控制器中,用`@route`
装饰符标记方法以公开它们。然后调用控制器的
“setup\u routes”方法(从“basecontroller”继承),传递一个
路由映射器以将自身添加到其中。然后,要创建实际的wsgi应用程序,
您创建一个“应用程序”,并将映射器传递给它。
在控制器中,“self.request”将为您提供当前的webob请求
对象。控制器可以返回包含HTML的字符串(在这种情况下,状态代码为200)或WebOB响应对象。
此外,可以安全地引发任何
[WebOB异常](http://webob.readthedocs.org/en/latest/modules/exceptions.html)。
参数(在self之后)来自routes
positional/regex参数。get和post参数可通过
“self.request”访问。
修饰后的方法自动用作“mapper.connect”的操作参数,而所有其他
到“@route”的参数按原样传递给“mapper.connect”。
将映射器插入同名的
控制器后传递给“application”的参数。那么,“应用程序”是用“应用程序(mapper,x=5)”实例化的吗,然后在控制器上的公开方法中,“self.x==5”将是“true”。
\example
``python
from routes import mapper
from corker.controller import basecontroller,route
from corker.app import application
from webob import响应
类索引(basecontroller):
@route(''')
定义索引(self,request):
返回“hi index!”\ n'
@route('view/{item}')
def view(self,request,item):
返回'hi view%d!\ n%int(item)
class sub(basecontroller):
def初始(self,request,arg1):
self.request=request
self.arg1=arg1
@route(''')
def index(self,request):
return response('hi sub!\ n'+self.arg1)
mapper=mapper()
index.setup_routes(mapper)
mapper.submapper(path_prefix=''/sub')作为sub:
sub.setup_routes(sub,config={“arg1”:“arg string”})
;在这一点上,示例应用程序是一个wsgi应用程序,可以由您的服务器的
选择。例如,使用“wsgiref”:
from wsgiref.util import setup\u testing\u defaults
from wsgiref.simple\u server import make\u server
httpd=make\u server('',8000,示例_app)
打印“在端口8000上服务…”
httpd.serve_forever()
`````
bugs/feature requests
参见[github问题](https://github.com/jd boyd/corker/issues)。
版权所有joshua d.boyd
http://www.ianbicking.org/blog/2010/03/12/a-webob-app-example/index.html
在控制器中,用`@route`
装饰符标记方法以公开它们。然后调用控制器的
“setup\u routes”方法(从“basecontroller”继承),传递一个
路由映射器以将自身添加到其中。然后,要创建实际的wsgi应用程序,
您创建一个“应用程序”,并将映射器传递给它。
在控制器中,“self.request”将为您提供当前的webob请求
对象。控制器可以返回包含HTML的字符串(在这种情况下,状态代码为200)或WebOB响应对象。
此外,可以安全地引发任何
[WebOB异常](http://webob.readthedocs.org/en/latest/modules/exceptions.html)。
参数(在self之后)来自routes
positional/regex参数。get和post参数可通过
“self.request”访问。
修饰后的方法自动用作“mapper.connect”的操作参数,而所有其他
到“@route”的参数按原样传递给“mapper.connect”。
将映射器插入同名的
控制器后传递给“application”的参数。那么,“应用程序”是用“应用程序(mapper,x=5)”实例化的吗,然后在控制器上的公开方法中,“self.x==5”将是“true”。
\example
``python
from routes import mapper
from corker.controller import basecontroller,route
from corker.app import application
from webob import响应
类索引(basecontroller):
@route(''')
定义索引(self,request):
返回“hi index!”\ n'
@route('view/{item}')
def view(self,request,item):
返回'hi view%d!\ n%int(item)
class sub(basecontroller):
def初始(self,request,arg1):
self.request=request
self.arg1=arg1
@route(''')
def index(self,request):
return response('hi sub!\ n'+self.arg1)
mapper=mapper()
index.setup_routes(mapper)
mapper.submapper(path_prefix=''/sub')作为sub:
sub.setup_routes(sub,config={“arg1”:“arg string”})
;在这一点上,示例应用程序是一个wsgi应用程序,可以由您的服务器的
选择。例如,使用“wsgiref”:
from wsgiref.util import setup\u testing\u defaults
from wsgiref.simple\u server import make\u server
httpd=make\u server('',8000,示例_app)
打印“在端口8000上服务…”
httpd.serve_forever()
`````
bugs/feature requests
参见[github问题](https://github.com/jd boyd/corker/issues)。
版权所有joshua d.boyd