このデコレータを作成したところ、無限のリダイレクト ループが発生しました。
問題はこれです:
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