如何响应403状态代码?
我举了一个例子:
raise webapp.Error(403)
. 所以我想这会给我403,但它只是给了我一个常规的500服务器错误。
这是一个完整的例子:
def administrator(method):
''' credit:
http://github.com/btbytes/teh/blob/master/utils.py
decorator to restrict access to admin areas
'''
@functools.wraps(method)
def wrapper(self, *args, **kwargs):
user = users.get_current_user()
if not user:
if self.request.method == "GET":
self.redirect(users.create_login_url(self.request.uri))
return
if not users.is_current_user_admin():
raise webapp.Error(403)
else:
return method(self, *args, **kwargs)
return wrapper
这就是我得到它的地方:
http://bitbucket.org/abernier/yab/src/tip/handlers/admin.py