views.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from functools import partial, update_wrapper
  2. from django.http import HttpResponse
  3. from django.views.generic import RedirectView
  4. from django.core.urlresolvers import reverse_lazy
  5. from django.contrib.auth.decorators import user_passes_test
  6. def empty_view(request, *args, **kwargs):
  7. return HttpResponse('')
  8. def kwargs_view(request, arg1=1, arg2=2):
  9. return HttpResponse('')
  10. def absolute_kwargs_view(request, arg1=1, arg2=2):
  11. return HttpResponse('')
  12. def defaults_view(request, arg1, arg2):
  13. pass
  14. def nested_view(request):
  15. pass
  16. def erroneous_view(request):
  17. import non_existent # NOQA
  18. def pass_resolver_match_view(request, *args, **kwargs):
  19. response = HttpResponse('')
  20. response.resolver_match = request.resolver_match
  21. return response
  22. uncallable = "Can I be a view? Pleeeease?"
  23. class ViewClass(object):
  24. def __call__(self, request, *args, **kwargs):
  25. return HttpResponse('')
  26. view_class_instance = ViewClass()
  27. class LazyRedirectView(RedirectView):
  28. url = reverse_lazy('named-lazy-url-redirected-to')
  29. @user_passes_test(lambda u: u.is_authenticated(), login_url=reverse_lazy('some-login-page'))
  30. def login_required_view(request):
  31. return HttpResponse('Hello you')
  32. def bad_view(request, *args, **kwargs):
  33. raise ValueError("I don't think I'm getting good value for this view")
  34. empty_view_partial = partial(empty_view, template_name="template.html")
  35. empty_view_wrapped = update_wrapper(
  36. partial(empty_view, template_name="template.html"), empty_view,
  37. )