我正在为appengine寻找类似于flask framework url_for
的功能。它需要在webapp2.WSGIApplication中将类名重定向到url,并将其与之关联。
所以,如果我有这个。
app = webapp2.WSGIApplication([
("/", PostsPage),
("/login", LoginPage),
], debug=True)
所以redirect(url_for(LoginPage))
会将我重定向到/ login。
答案 0 :(得分:1)
如果您可以访问传递给WSGIApplication构造函数的参数,那么构建起来相对容易:
class PostsPage:
pass
class LoginPage:
pass
urls = [
("/", PostsPage),
("/login", LoginPage),
]
def url_for(cls):
return [x[0] for x in urls if x[1] == cls][0]
print url_for(LoginPage)
答案 1 :(得分:1)
您可以将不同的“路线”命名为
app = webapp2.WSGIApplication([
webapp2.Route(r'/', handler=PostsPage, name ='main'),
webapp2.Route(r'/login', handler=LoginPage, name ='login'),
], debug = True)
现在,您可以按照建议或使用名称重定向
return self.redirect_to('login')
或return self.redirect_to(
main`)
我已经包含了一个return语句,因为重定向首先在您返回后发生。