我做了這個裝飾器,導致無限的重定向循環。獲取重定向循環admin_only裝飾器
問題是這樣的:
args[0].redirect(users.create_login_url(args[0].request.path))
這似乎是一個完全有效的URL。那麼爲什麼它不能正確重定向呢?
def admin_only(handler, *args):
def redirect_to_login(*args, **kwargs):
return args[0].redirect(users.create_login_url(args[0].request.path))
user = users.get_current_user()
if user:
if authorized(user):
return handler(args[0])
else:
logging.warning('An unauthorized user has attempted to enter an authorized page')
return redirect_to_login
else:
return redirect_to_login