扭曲 render_GET 重定向到函数
twisted render_GET redirect to function
我似乎找不到任何关于如何使用 twisted.web.util.Redirect 重定向到另一个函数的文档。
有关详细信息,请参阅下文。
我有以下代码:
class Login(Resource):
isLeaf = True
def getChild(self, name, request):
if name == '':
return self
return Resource.getChild(self, name, request)
def render_GET(self, request):
saml = SamlRequest(request)
print('redirecting to sso')
return Redirect(saml.sso())
class SamlRequest(object):
self.auth = OneLogin_Saml2_Auth(self.request, custom_base_path=settings_path)
def sso(self):
return self.auth.login()
我需要重定向到页面登录到OneLogin_Saml2_Auth里面的登录功能。
当我尝试按原样重定向时收到错误
raise TypeError("Unicode object not allowed as URL")
有没有办法做到这一点?
twisted.web.util.Redirect
是一种资源,而不是您通过 render
方法 return 得到的东西。如果您的 URL 结构中存在 "static" 重定向并重定向到固定位置,则最适合。
如果您想编写重定向到动态 URL 的自定义资源,请使用 twisted.web.util.redirectTo(url, request)
,您 可以 从 [=13] 调用它=] 方法就像您尝试使用 Redirect
.
我似乎找不到任何关于如何使用 twisted.web.util.Redirect 重定向到另一个函数的文档。
有关详细信息,请参阅下文。
我有以下代码:
class Login(Resource):
isLeaf = True
def getChild(self, name, request):
if name == '':
return self
return Resource.getChild(self, name, request)
def render_GET(self, request):
saml = SamlRequest(request)
print('redirecting to sso')
return Redirect(saml.sso())
class SamlRequest(object):
self.auth = OneLogin_Saml2_Auth(self.request, custom_base_path=settings_path)
def sso(self):
return self.auth.login()
我需要重定向到页面登录到OneLogin_Saml2_Auth里面的登录功能。
当我尝试按原样重定向时收到错误
raise TypeError("Unicode object not allowed as URL")
有没有办法做到这一点?
twisted.web.util.Redirect
是一种资源,而不是您通过 render
方法 return 得到的东西。如果您的 URL 结构中存在 "static" 重定向并重定向到固定位置,则最适合。
如果您想编写重定向到动态 URL 的自定义资源,请使用 twisted.web.util.redirectTo(url, request)
,您 可以 从 [=13] 调用它=] 方法就像您尝试使用 Redirect
.