diff options
| author | Tom Christie | 2012-02-17 09:19:13 +0000 |
|---|---|---|
| committer | Tom Christie | 2012-02-17 09:19:13 +0000 |
| commit | fbf76c87affc88f04bb0d0acaecc6af6442ba921 (patch) | |
| tree | 5a75cbb061829694c4f714ae0e8413c584131739 /examples/requestexample/views.py | |
| parent | 426493a78f3003fdba39053b6af23b93b312a777 (diff) | |
| parent | c04cb5145c4398cfac090ca7eef032296a04446f (diff) | |
| download | django-rest-framework-fbf76c87affc88f04bb0d0acaecc6af6442ba921.tar.bz2 | |
Merge git://github.com/sebpiq/django-rest-framework into develop
Diffstat (limited to 'examples/requestexample/views.py')
| -rw-r--r-- | examples/requestexample/views.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/requestexample/views.py b/examples/requestexample/views.py new file mode 100644 index 00000000..b5d2c1e7 --- /dev/null +++ b/examples/requestexample/views.py @@ -0,0 +1,44 @@ +from djangorestframework.compat import View +from django.http import HttpResponse +from django.core.urlresolvers import reverse + +from djangorestframework.mixins import RequestMixin +from djangorestframework.views import View as DRFView +from djangorestframework import parsers +from djangorestframework.response import Response + + +class RequestExampleView(DRFView): + """ + A container view for request examples. + """ + + def get(self, request): + return Response([{'name': 'request.DATA Example', 'url': reverse('request-content')},]) + + +class MyBaseViewUsingEnhancedRequest(RequestMixin, View): + """ + Base view enabling the usage of enhanced requests with user defined views. + """ + + parser_classes = parsers.DEFAULT_PARSERS + + def dispatch(self, request, *args, **kwargs): + self.request = request = self.create_request(request) + return super(MyBaseViewUsingEnhancedRequest, self).dispatch(request, *args, **kwargs) + + +class EchoRequestContentView(MyBaseViewUsingEnhancedRequest): + """ + A view that just reads the items in `request.DATA` and echoes them back. + """ + + def post(self, request, *args, **kwargs): + return HttpResponse(("Found %s in request.DATA, content : %s" % + (type(request.DATA), request.DATA))) + + def put(self, request, *args, **kwargs): + return HttpResponse(("Found %s in request.DATA, content : %s" % + (type(request.DATA), request.DATA))) + |
