A cleaner approach that wouldn't require distinct wrappers might be to use `request.is_ajax`:
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.is_ajax

(then, it could branch inside the decorator based on what the source was)