django-rest-framework/examples/sandbox/views.py

68 lines
2.6 KiB
Python
Raw Normal View History

"""The root view for the examples provided with Django REST framework"""
2012-02-22 00:57:36 +04:00
from djangorestframework.reverse import reverse
from djangorestframework.views import View
from djangorestframework.response import Response
class Sandbox(View):
2012-02-22 00:12:14 +04:00
"""
This is the sandbox for the examples provided with
[Django REST framework][1].
2012-02-22 00:12:14 +04:00
These examples are provided to help you get a better idea of some of the
features of RESTful APIs created using the framework.
2012-02-22 00:12:14 +04:00
All the example APIs allow anonymous access, and can be navigated either
through the browser or from the command line.
2012-02-22 00:12:14 +04:00
For example, to get the default representation using curl:
bash: curl -X GET http://rest.ep.io/
2012-02-25 22:45:17 +04:00
2012-02-22 00:12:14 +04:00
Or, to get the plaintext documentation represention:
bash: curl -X GET http://rest.ep.io/ -H 'Accept: text/plain'
2011-12-29 17:31:12 +04:00
The examples provided:
2012-02-22 00:12:14 +04:00
1. A basic example using the [Resource][2] class.
2. A basic example using the [ModelResource][3] class.
3. An basic example using Django 1.3's [class based views][4] and
djangorestframework's [RendererMixin][5].
4. A generic object store API.
5. A code highlighting API.
6. A blog posts and comments API.
7. A basic example using permissions.
2012-01-25 02:11:54 +04:00
8. A basic example using enhanced request.
2012-02-22 00:12:14 +04:00
Please feel free to browse, create, edit and delete the resources in
these examples.
[1]: http://django-rest-framework.org
[2]: http://django-rest-framework.org/library/resource.html
[3]: http://django-rest-framework.org/library/modelresource.html
[4]: http://docs.djangoproject.com/en/dev/topics/class-based-views/
[5]: http://django-rest-framework.org/library/renderers.html
"""
def get(self, request):
2012-02-22 00:12:14 +04:00
return Response([
{'name': 'Simple Resource example',
2012-02-25 22:45:17 +04:00
'url': reverse('example-resource', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Simple ModelResource example',
2012-02-25 22:45:17 +04:00
'url': reverse('model-resource-root', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Simple Mixin-only example',
2012-02-25 22:45:17 +04:00
'url': reverse('mixin-view', request=request)},
{'name': 'Object store API',
'url': reverse('object-store-root', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Code highlighting API',
2012-02-25 22:45:17 +04:00
'url': reverse('pygments-root', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Blog posts API',
2012-02-25 22:45:17 +04:00
'url': reverse('blog-posts-root', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Permissions example',
2012-02-25 22:45:17 +04:00
'url': reverse('permissions-example', request=request)},
2012-02-22 00:12:14 +04:00
{'name': 'Simple request mixin example',
2012-02-25 22:45:17 +04:00
'url': reverse('request-example', request=request)}
2012-02-22 00:12:14 +04:00
])