我正在编写一个简单的自定义中间件,如果设置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。我怀疑浏览器会杀死一个循环。
可能是什么问题?
答案 0 :(得分:1)
这里没有魔法。
每次重定向到z
。把条件置于其上。