【问题标题】:twisted render_GET redirect to function扭曲的 render_GET 重定向到函数
【发布时间】:2018-04-10 19:31:53
【问题描述】:

我似乎找不到任何关于如何使用 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")

有没有办法做到这一点?

【问题讨论】:

    标签: python twisted onelogin twisted.web


    【解决方案1】:

    twisted.web.util.Redirect 是一种资源,而不是您从render 方法返回的东西。如果您的 URL 结构中存在“静态”重定向并重定向到固定位置,则最合适。

    如果您想编写重定向到动态 URL 的自定义资源,请使用 twisted.web.util.redirectTo(url, request),您可以从您的 render_GET 方法调用它,就像您尝试使用 Redirect 一样.

    【讨论】:

      猜你喜欢
      • 2012-10-16
      • 2011-07-15
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多