Nitpick: This seems like an unnecessary level of abstraction. There's nothing wrong with it, exactly, but it seems like it would be clearer and simpler to do the logging and return the `JsonResponse` yourself, rather than having to remember what this function does.

Would it solve the same problem to simply create a subclass of `JsonResponse` that automatically sets the `status_code` to 400, and use that all over the place? (Like Django's [`HttpResponseBadRequest`](https://docs.djangoproject.com/en/1.5/ref/request-response/#django.http.HttpResponseBadRequest) class.) I would be fine with that.