0

我有一个带有以下服务器代码的 web.py 应用程序。

import web
import mod1

urls = (
  '/(\w*)/(c|r|u|d)/(.*)', '\\1.\\2',
)

if __name__ == "__main__": 
    app = web.application(urls, globals())
    app.run()        

mod1.py包含

class c:
    def POST(self):
        return "C"

class d:
    def DELETE(self):
        return "d"

class u:
    def POST(self):
        return "u"

class r:
    def GET(self, _id):
        return "v={0}".format(_id)

现在要求http://.../mod1/r/3退货GET() takes exactly 2 arguments (4 given)

这里有什么问题?

4

1 回答 1

5

您的 URL 配置有3 个参数((\w*)(c|r|u|d)(.*)。加上self方法的参数,产生 4 个参数。

调整您的GET方法以接受所有参数:

def GET(self, param1, operation, id_):

这些匹配每个正则表达式捕获组;我猜到了每个参数的名称,您可以根据需要进行调整。

于 2013-06-02T09:49:40.227 回答