views.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from functools import partial, update_wrapper
  2. from django.contrib.auth.decorators import user_passes_test
  3. from django.core.urlresolvers import reverse_lazy
  4. from django.http import HttpResponse
  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(object):
  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(lambda u: u.is_authenticated(), login_url=reverse_lazy('some-login-page'))
  28. def login_required_view(request):
  29. return HttpResponse('Hello you')
  30. def bad_view(request, *args, **kwargs):
  31. raise ValueError("I don't think I'm getting good value for this view")
  32. empty_view_partial = partial(empty_view, template_name="template.html")
  33. empty_view_wrapped = update_wrapper(
  34. partial(empty_view, template_name="template.html"), empty_view,
  35. )