多个get方法Python google app引擎

Ess*_*eTi 1 django rest google-app-engine get

是否有可能在python中的类中有多个GET?

我试过这个:

import webapp2

class MainPage(webapp2.RequestHandler ):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write("test")

    def get(self, name, surname):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('N: %s S: %s' % (name , surname))   

app = webapp2.WSGIApplication([('/.*', MainPage)],
                              debug=True)
Run Code Online (Sandbox Code Playgroud)

但不起作用.

我该怎么办?两个不同的文件处理两个不同的路径?

Amb*_*ber 7

任何 Python类中都不能有两个名为相同的方法.

相反,你应该做的是定义两个不同的类,然后使用不同的URL模式匹配来选择使用哪个,而不是将everything(/.*)发送到单个类.

这是一个(非常)基本的例子:

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write("test")

class NamePage(webapp2.RequestHandler):
    def get(self, name, surname):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('N: %s S: %s' % (name , surname))   

app = webapp2.WSGIApplication([
        ('/(.+)/(.+)', NamePage), # Matches /foo/bar
        ('/.*', MainPage), # Matches everything else
    ], debug=True)
Run Code Online (Sandbox Code Playgroud)