本文共 892 字,大约阅读时间需要 2 分钟。
RoutesMiddleware将请求应声到相应WSGI程序,它将路由匹配结果存到environ环境变量中去。 [python] view plaincopyprint? from routes.middleware import RoutesMiddleware app = RoutesMiddleware(wsgi_app, map) # ``map`` is a routes.Mapper. map调用match匹配URL,并设置WSGI环境变量 [python] view plaincopyprint? environ['wsgiorg.routing_args'] = ((url, match)) environ['routes.route'] = route environ['routes.url'] = url route为匹配到的路由,url为一个URLGenerator对象,match为匹配所得条目。 app为一个RoutesMiddleware对象,内部重载__call__(def __call__(self, environ, start_response))仍为一个wsgi应用。 wsgi_app为一个wsgi程序,RoutesMiddleware将环境变量(environ)设置好后,调用wsgi_app进行后续处理。 下面是一个实际的输出: [plain] view plaincopyprint? wsgiorg.routing_args = (<routes.util.URLGenerator object at 0x0287AFB0>, {'action': u'index', 'controller': <__main__.Resourse instance at 0x02876E40>}) routes.route = <routes.route.Route object at 0x02871F10> routes.url = <routes.util.URLGenerator object at 0x0287AFB0>转载地址:http://gxvws.baihongyu.com/