views.py 1.3 KB

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