from urllib.request import urlopen from django.http import HttpResponse, StreamingHttpResponse from django.views.decorators.csrf import csrf_exempt from .models import Person def example_view(request): return HttpResponse("example view") def streaming_example_view(request): return StreamingHttpResponse((b"I", b"am", b"a", b"stream")) def model_view(request): people = Person.objects.all() return HttpResponse("\n".join(person.name for person in people)) def create_model_instance(request): person = Person(name="emily") person.save() return HttpResponse() def environ_view(request): return HttpResponse( "\n".join("%s: %r" % (k, v) for k, v in request.environ.items()) ) def subview(request): return HttpResponse("subview") def subview_calling_view(request): with urlopen(request.GET["url"] + "/subview/") as response: return HttpResponse("subview calling view: {}".format(response.read().decode())) def check_model_instance_from_subview(request): with urlopen(request.GET["url"] + "/create_model_instance/"): pass with urlopen(request.GET["url"] + "/model_view/") as response: return HttpResponse("subview calling view: {}".format(response.read().decode())) @csrf_exempt def method_view(request): return HttpResponse(request.method)