diff options
| author | Sébastien Piquemal | 2012-02-07 16:52:15 +0200 |
|---|---|---|
| committer | Sébastien Piquemal | 2012-02-07 16:52:15 +0200 |
| commit | 2cdff1b01e3aca6c56cef433e786e3ae75362739 (patch) | |
| tree | c44ccbd8b16a85aab0ef18e36aa5af8846bd3062 /examples/views.py | |
| parent | 6963fd3623ee217fe489abb25f0ffa8c0781e4cd (diff) | |
| download | django-rest-framework-2cdff1b01e3aca6c56cef433e786e3ae75362739.tar.bz2 | |
modified examples, somethin' still broken, can't find what
Diffstat (limited to 'examples/views.py')
| -rw-r--r-- | examples/views.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/views.py b/examples/views.py new file mode 100644 index 00000000..606edc3a --- /dev/null +++ b/examples/views.py @@ -0,0 +1,34 @@ +from djangorestframework.views import View +from djangorestframework.response import Response + + +class MockView(View): + """ + A view that just acts as a proxy to call non-djangorestframework views, while still + displaying the browsable API interface. + """ + + view_class = None + + def dispatch(self, request, *args, **kwargs): + request = self.prepare_request(request) + if request.method in ['PUT', 'POST']: + self.response = self.view_class.as_view()(request, *args, **kwargs) + return super(MockView, self).dispatch(request, *args, **kwargs) + + def get(self, request, *args, **kwargs): + return Response() + + def put(self, request, *args, **kwargs): + return Response(self.response.content) + + def post(self, request, *args, **kwargs): + return Response(self.response.content) + + def __getattribute__(self, name): + if name == '__name__': + return self.view_class.__name__ + elif name == '__doc__': + return self.view_class.__doc__ + else: + return super(MockView, self).__getattribute__(name) |
