我正在尝试在记录用户后进行简单的重定向。我以为我可以使用打印“位置:...”方法,但这似乎没有办法。
class MainPage(webapp.RequestHandler):
def get(self):
ip = self.request.remote_addr
log = Log()
log.ip_address = ip
log.put()
print "Location:http://www.appurl.com"
答案 0 :(得分:14)
RequestHandler
有一个redirect()
方法可以使用。它需要两个参数,第一个是重定向的url,第二个是boolean值。如果传递true,则会发送301代码以指示永久重定向,如果未向其传递显式值,则默认为false,并向客户端发送302代码以指示临时重定向。
这样的事情:
class MainPage(webapp.RequestHandler):
def get(self):
ip = self.request.remote_addr
log = Log()
log.ip_address = ip
log.put()
self.redirect("http://www.appurl.com") # replaced this -> print "Location:http://www.appurl.com"
答案 1 :(得分:1)
另一种选择是直接在appengine_config.py
上进行即。如果您想将所有内容重定向到“http://www.google.com”,可以添加以下内容:
def webapp_add_wsgi_middleware(app):
return webapp.WSGIApplication([('/*', webapp.RedirectHandler.new_factory('http://www.google.com', permanent=True))], debug=True)
即。如果你想根据你可以做的主机做某事:
def webapp_add_wsgi_middleware(app):
if 'mydomain.com' in os.environ.get('HTTP_HOST'):
return webapp.WSGIApplication([('/*', webapp.RedirectHandler.new_factory('http://www.google.com/', permanent=True))],
debug=True)
else:
return app