Как я могу ответить на код состояния 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