在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)
但不起作用。
我该怎么做?处理两条不同路径的两个不同文件?
答案 0 :(得分:7)
在任何 Python类中,你不能有两个同名的方法。
相反,您应该做的是定义两个不同的类,然后使用不同的URL模式匹配来选择使用哪个,而不是将所有内容(/.*
)发送到单个类。
这是一个(非常)基本的例子:
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)