使用webapp2重定向以捕获URL参数

时间:2015-07-01 15:59:37

标签: python redirect webapp2

我已经为注册页面编写了一个代码,要求提供用户名,密码和电子邮件等信息。用户输入正确后,页面将重定向到

  

'/欢迎?用户名=名称

我正在使用self.redirect。通过使用methd重定向,我将新URL作为'/ welcome'。如何包含查询参数?我还希望user_name显示在重定向的页面中,如:

  

欢迎名称

我将如何做到这一点? 这是我写的用来处理'/ welcome'的课程

class welcomeHandler(webapp2.RequestHandler):
    def get(self):
        self.response.out.write("Welcome")

app = webapp2.WSGIApplication([
    ('/', MainHandler),('/welcome',welcomeHandler)], debug=True)

3 个答案:

答案 0 :(得分:2)

您需要使用字符串替换。假设您将用户名存储在名称中。因此,你需要写:

self.redirect("/Welcome/username="+name)

答案 1 :(得分:2)

如果您需要对其进行编码,可以使用:

import urllib
self.redirect('/welcome?' + urllib.urlencode({'username': name})

如果您需要添加更多查询参数,只需将它们添加到字典中,如How to urlencode a querystring in Python?所示。

答案 2 :(得分:0)

为什么要这样处理用户问候语?将其作为模板变量传递或按以下方式执行:

class welcomeHandler(webapp2.RequestHandler):
    def get(self):
        self.response.out.write("Welcome %s") % username

此外,请确保在用户注册后为其创建会话,否则您只是创建其凭据,但实际上并未将其登录。