コード例 #1
0
ファイル: views.py プロジェクト: pombredanne/webargs
import json
from django.http import HttpResponse
from django.views.generic import View

from webargs import Arg
from webargs.djangoparser import DjangoParser

parser = DjangoParser()
hello_args = {'name': Arg(str, default='World')}
hello_multi = {'name': Arg(multiple=True)}


def render_json_response(data):
    return HttpResponse(json.dumps(data), content_type='application/json')


class SimpleCBVWithParam(View):
    @parser.use_args(hello_args)
    def get(self, args, request, pid):
        return render_json_response(args)


class SimpleCBV(View):
    def get(self, request):
        args = parser.parse(hello_args, self.request)
        return render_json_response(args)

    def post(self, request):
        args = parser.parse(hello_args, self.request)
        return render_json_response(args)
コード例 #2
0
def test_parse_headers_raises_not_implemented_error(mockrequest):
    field = fields.Field()
    p = DjangoParser()
    with pytest.raises(NotImplementedError) as excinfo:
        p.parse_arg('foo', field, req=mockrequest, locations=('headers', ))
    assert 'Header parsing not supported by DjangoParser' in str(excinfo)
コード例 #3
0
def test_parse_headers_raises_not_implemented_error(mockrequest):
    arg = Arg()
    p = DjangoParser()
    with pytest.raises(NotImplementedError) as excinfo:
        p.parse_arg('foo', arg, req=mockrequest, targets=('headers', ))
    assert 'Header parsing not supported by DjangoParser' in str(excinfo)
コード例 #4
0
class DjangoArgumentsMixin(ArgumentsMixin):
    ARGUMENTS_PARSER = DjangoParser()
コード例 #5
0
ファイル: test_djangoparser.py プロジェクト: jmcarp/webargs
def test_parse_headers_raises_not_implemented_error(mockrequest):
    arg = Arg()
    p = DjangoParser()
    with pytest.raises(NotImplementedError) as excinfo:
        p.parse_arg('foo', arg, req=mockrequest, targets=('headers',))
    assert 'Header parsing not supported by DjangoParser' in str(excinfo)