扭曲网络 - 请求中的重定向

3 投票
1 回答
2694 浏览
提问于 2025-04-17 06:19

我在想,在Twisted Web的渲染方法里,是否可以进行重定向。

我尝试了各种重定向的方法,发现只有在getChild方法中有相关的文档说明。

基本上,我是在检查用户是否登录,如果没有登录,就把用户转到另一个资源。

    def render_GET(self, request):
        player = getPlayer(request)
        if player.loggedIn():
            return Redirect("play")
        else:
            return Redirect("login")

我到处查找,但在Twisted的文档中找不到一个详细的例子。

我不确定是否需要改变我的方法,而且我对Twisted Web还很陌生。任何帮助都将非常感激。

谢谢你

1 个回答

8

抱歉

经过进一步调查,我发现是我自己的疏忽,忽略了"redirectTo"这个方法,它在twisted.web.util里。

这个方法对我来说效果很好。我想把这个分享出来,以防其他人也在寻找同样的答案。

    from twisted.web.util import redirectTo

    def render_GET(self, request):
        player = getPlayer(request)
        if player.loggedIn():
            return redirectTo("play")
        else:
            return redirectTo("login")

祝好

撰写回答