2011-02-20 3 views
2

Django-Piston에서 오류 처리를 수행하는 좋은 방법이 있습니까? 호출자가 필수 GET 매개 변수를 생략하거나 매개 변수가 유효하지 않은 경우 발신자가 400 상태 코드를 반환하는 것과 같습니다.Django-Piston에서 오류 처리

답변

4

장고 - 피스톤은 HTTP 상태 코드를 사용하며 기본적으로 일반 오류 (인증 등)를 처리하지만, 또한 piston.utils에서 rc를 사용하여 새로운 예외 또는 상태를 throw합니다. https://bitbucket.org/jespern/django-piston/wiki/Documentation#!helpers-utils-decorators

에서

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 

체크 아웃 모든 유틸리티를 예를 들면 다음과 같습니다