Django-Piston中的错误处理
在Django-Piston中,有没有好的方法来处理错误?比如说,当调用者漏掉了一个必须的GET参数,或者参数不合法时,返回一个400状态码。
1 个回答
4
Django-piston 会遵循 HTTP 状态码,并且默认处理一些常见的错误(比如认证错误等)。不过,你也可以通过 piston.utils 中的 rc 来抛出新的异常或状态。
举个例子:
from django.contrib.auth.models import User
from piston.handler import AnonymousBaseHandler
from piston.utils import rc
class AnonymousUserHandler(AnonymousBaseHandler):
allowed_methods = ('GET', )
fields = ('id', 'username',)
def read(self, request):
try:
user = User.objects.get(username=request.GET.get('username', None))
return user
except Exception:
resp = rc.NOT_FOUND
resp.write(' User not found')
return resp
你可以查看所有的工具和帮助信息,地址是 https://django-piston-sheepdog.readthedocs.io/en/latest/helpers.html