decorators.py 648 B

123456789101112131415161718192021
  1. from functools import wraps
  2. from urllib.parse import urlparse
  3. from django.conf import settings
  4. from django.shortcuts import render
  5. from django.http import JsonResponse
  6. DEBUG = settings.DEBUG
  7. def debug_view(*items, template_name='debug.html'):
  8. def decorator(view_func):
  9. @wraps(view_func)
  10. def _wrapped_view(request, *args, **kwargs):
  11. if DEBUG and request.method == 'GET':
  12. print('render debug view')
  13. return render(request, template_name, {'items': items})
  14. else:
  15. return view_func(request, *args, **kwargs)
  16. return _wrapped_view
  17. return decorator