mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-26 03:23:59 +03:00
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
from djangorestframework.reverse import reverse
|
|
from djangorestframework.views import View
|
|
from djangorestframework.response import Response
|
|
from djangorestframework import status
|
|
|
|
from resourceexample.forms import MyForm
|
|
|
|
|
|
class ExampleView(View):
|
|
"""
|
|
A basic read-only view that points to 3 other views.
|
|
"""
|
|
|
|
def get(self, request):
|
|
"""
|
|
Handle GET requests, returning a list of URLs pointing to
|
|
three other views.
|
|
"""
|
|
resource_urls = [reverse('another-example',
|
|
kwargs={'num': num},
|
|
request=request)
|
|
for num in range(3)]
|
|
return Response({"Some other resources": resource_urls})
|
|
|
|
|
|
class AnotherExampleView(View):
|
|
"""
|
|
A basic view, that can handle GET and POST requests.
|
|
Applies some simple form validation on POST requests.
|
|
"""
|
|
form = MyForm
|
|
|
|
def get(self, request, num):
|
|
"""
|
|
Handle GET requests.
|
|
Returns a simple string indicating which view the GET request was for.
|
|
"""
|
|
if int(num) > 2:
|
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
|
return Response("GET request to AnotherExampleResource %s" % num)
|
|
|
|
def post(self, request, num):
|
|
"""
|
|
Handle POST requests, with form validation.
|
|
Returns a simple string indicating what content was supplied.
|
|
"""
|
|
if int(num) > 2:
|
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
|
return Response("POST request to AnotherExampleResource %s, with content: %s" % (num, repr(self.CONTENT)))
|