自定义中间件不会重定向

时间:2017-01-17 14:16:52

标签: django

我正在编写一个简单的自定义中间件,如果设置constante设置为True,它应该将所有用户重定向到特定页面:

来自django.shortcuts导入重定向 来自django.conf导入设置

class DisableSiteMiddleware( object ):
    """If site is disabled, user is redirected to a simple page"""
    print( "Class" )

    def process_request( self, request ):
        print( "func" )
        if settings.SITE_DISABLED == True:
            return redirect( "/site-disabled" )

在urls.py中,但是使用任何网址

url( r'^site-disabled/', site_disabled )

发生的事情很奇怪:在浏览器方面,它不会加载任何内容并显示浏览器故障页面。在控制台上我可以看到它反复打印" func"这意味着多次调用process_request。我怀疑浏览器会杀死一个循环。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

这里没有魔法。

每次重定向到z。把条件置于其上。