views.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from functools import partial, update_wrapper
  2. from django.contrib.auth.decorators import user_passes_test
  3. from django.http import HttpResponse
  4. from django.urls import reverse_lazy
  5. from django.views.generic import RedirectView
  6. def empty_view(request, *args, **kwargs):
  7. return HttpResponse()
  8. def absolute_kwargs_view(request, arg1=1, arg2=2):
  9. return HttpResponse()
  10. def defaults_view(request, arg1, arg2):
  11. pass
  12. def nested_view(request):
  13. pass
  14. def erroneous_view(request):
  15. import non_existent # NOQA
  16. def pass_resolver_match_view(request, *args, **kwargs):
  17. response = HttpResponse()
  18. response.resolver_match = request.resolver_match
  19. return response
  20. uncallable = None # neither a callable nor a string
  21. class ViewClass:
  22. def __call__(self, request, *args, **kwargs):
  23. return HttpResponse()
  24. view_class_instance = ViewClass()
  25. class LazyRedirectView(RedirectView):
  26. url = reverse_lazy("named-lazy-url-redirected-to")
  27. @user_passes_test(
  28. lambda u: u.is_authenticated, login_url=reverse_lazy("some-login-page")
  29. )
  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_nested_partial = partial(
  36. empty_view_partial, template_name="nested_partial.html"
  37. )
  38. empty_view_wrapped = update_wrapper(
  39. partial(empty_view, template_name="template.html"),
  40. empty_view,
  41. )