aboutsummaryrefslogtreecommitdiffstats
path: root/examples/views.py
diff options
context:
space:
mode:
authorTom Christie2012-02-17 09:19:13 +0000
committerTom Christie2012-02-17 09:19:13 +0000
commitfbf76c87affc88f04bb0d0acaecc6af6442ba921 (patch)
tree5a75cbb061829694c4f714ae0e8413c584131739 /examples/views.py
parent426493a78f3003fdba39053b6af23b93b312a777 (diff)
parentc04cb5145c4398cfac090ca7eef032296a04446f (diff)
downloaddjango-rest-framework-fbf76c87affc88f04bb0d0acaecc6af6442ba921.tar.bz2
Merge git://github.com/sebpiq/django-rest-framework into develop
Diffstat (limited to 'examples/views.py')
-rw-r--r--examples/views.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/views.py b/examples/views.py
new file mode 100644
index 00000000..e0e4c3c4
--- /dev/null
+++ b/examples/views.py
@@ -0,0 +1,32 @@
+from djangorestframework.views import View
+from djangorestframework.response import Response
+
+
+class ProxyView(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):
+ self.request = request = self.create_request(request)
+ if request.method in ['PUT', 'POST']:
+ self.response = self.view_class.as_view()(request, *args, **kwargs)
+ return super(ProxyView, 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 get_name(self):
+ return self.view_class.__name__
+
+ def get_description(self, html):
+ return self.view_class.__doc__