1. from urllib.request import urlopen
    
  2. 
    
  3. from django.http import HttpResponse, StreamingHttpResponse
    
  4. from django.views.decorators.csrf import csrf_exempt
    
  5. 
    
  6. from .models import Person
    
  7. 
    
  8. 
    
  9. def example_view(request):
    
  10.     return HttpResponse("example view")
    
  11. 
    
  12. 
    
  13. def streaming_example_view(request):
    
  14.     return StreamingHttpResponse((b"I", b"am", b"a", b"stream"))
    
  15. 
    
  16. 
    
  17. def model_view(request):
    
  18.     people = Person.objects.all()
    
  19.     return HttpResponse("\n".join(person.name for person in people))
    
  20. 
    
  21. 
    
  22. def create_model_instance(request):
    
  23.     person = Person(name="emily")
    
  24.     person.save()
    
  25.     return HttpResponse()
    
  26. 
    
  27. 
    
  28. def environ_view(request):
    
  29.     return HttpResponse(
    
  30.         "\n".join("%s: %r" % (k, v) for k, v in request.environ.items())
    
  31.     )
    
  32. 
    
  33. 
    
  34. def subview(request):
    
  35.     return HttpResponse("subview")
    
  36. 
    
  37. 
    
  38. def subview_calling_view(request):
    
  39.     with urlopen(request.GET["url"] + "/subview/") as response:
    
  40.         return HttpResponse("subview calling view: {}".format(response.read().decode()))
    
  41. 
    
  42. 
    
  43. def check_model_instance_from_subview(request):
    
  44.     with urlopen(request.GET["url"] + "/create_model_instance/"):
    
  45.         pass
    
  46.     with urlopen(request.GET["url"] + "/model_view/") as response:
    
  47.         return HttpResponse("subview calling view: {}".format(response.read().decode()))
    
  48. 
    
  49. 
    
  50. @csrf_exempt
    
  51. def method_view(request):
    
  52.     return HttpResponse(request.method)