Python 2.7 WebApp2:TypeError:get()正好接受1个参数(给定2个)
用户注册后,我想重定向到一个url为“./user/abcxyz”的欢迎页面,其中abcxyz将是用户名。但是,在重定向页面上,我遇到以下错误:Python 2.7 WebApp2:TypeError:get()正好接受1个参数(给定2个),python-2.7,google-app-engine,jinja2,webapp2,Python 2.7,Google App Engine,Jinja2,Webapp2,用户注册后,我想重定向到一个url为“./user/abcxyz”的欢迎页面,其中abcxyz将是用户名。但是,在重定向页面上,我遇到以下错误: return method(*args, **kwargs) TypeError: get() takes exactly 1 argument (2 given) 以下是守则的有关部分: class Signup(MainHandler): ... ... # after successful signup redirect to we
return method(*args, **kwargs)
TypeError: get() takes exactly 1 argument (2 given)
以下是守则的有关部分:
class Signup(MainHandler):
...
...
# after successful signup redirect to welcome page
self.redirect('/user/%s' % username)
以前我问了很多问题,但没有找到与我的问题相关的答案。请帮助我修复此错误。这是因为您在route regex中使用了捕获组
(r'/user/(.*)', WelcomeHandler),
这将捕获/user/
后面的字符串,然后作为第二个参数传递给相应的请求方法get
或post
因此,您必须修改相应处理程序中存在的请求方法,如下所示
class WelcomeHandler(MainHandler):
def get(self, username):
self.render('welcome.html')
如果要将用户名
传递到欢迎.html
页面,则
def get(self, username):
self.render('welcome.html', username=username)
太棒了,谢谢。
(r'/user/(.*)', WelcomeHandler),
class WelcomeHandler(MainHandler):
def get(self, username):
self.render('welcome.html')
def get(self, username):
self.render('welcome.html', username=username)