django/tests/servers/views.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.3 KiB
Python
Raw Normal View History

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)