0

我一直在编写一个客户端应用程序和一个服务器端应用程序作为两个独立的应用程序,我希望客户端使用服务器。客户端用javascript编写,服务器用python编写,使用web.py作为引擎交付给客户端。客户端和服务器必须在同一个 Web 域中。

服务器部分的路由定义为:

'/data/(.*)', 'applicationserver.routes.Data.Data'

这可以很好地使用在本地运行它http://buildserver/data/transform

我将其设置为 nginx 中的站点,如下所示:

upstream app {
  server 127.0.0.1:8081
}

并将其添加到 Web 应用程序中,如下所示:

location /server {
    ...
    proxy_pass 
}

路由的新路径是` but for obvious reasons this will not work as the server app is listening for/data and not/server/data`。

我试图将 python 中的路由更改为(.*)/data/(.*)哪种工作方式,但它会引发错误:

<type 'exceptions.TypeError'> at /data/transform
GET() takes exactly 2 arguments (3 given)
4

1 回答 1

0

我在发布之前就弄清楚了发生了什么,但我希望我可以通过发布这个来帮助其他人。

web.py 正在将匹配的组发送到 GET,因此使用(.*)/data/(.*)将路径的开始和结束都发送到 GET,这就是它失败的原因。

设置路由给.*/data/(.*)了我我想要的东西,并且只将数据之后的部分发送到 GET 函数。

于 2013-08-02T07:18:37.617 回答