Обработка ошибок в Django-Piston - PullRequest
2 голосов
/ 20 февраля 2011

В Django-Piston есть хороший способ обработки ошибок?(Например, возвращение кода состояния 400, когда вызывающая сторона пропускает обязательный параметр GET или когда параметры недопустимы.)

1 Ответ

4 голосов
/ 21 февраля 2011

Django-pneon уважает коды состояния HTTP и обрабатывает общие ошибки по умолчанию (auth и т. Д.), Но вы также можете выдавать новые исключения или статус, используя rc из пистона.utils.

Например:

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://bitbucket.org/jespern/django-piston/wiki/Documentation#!helpers-utils-decorators

...