How do I send empty response in Django without templates How do I send empty response in Django without templates ajax ajax

How do I send empty response in Django without templates


render_to_response is a shortcut specifically for rendering a template. If you don't want to do that, just return an empty HttpResponse:

 from django.http import HttpResponse return HttpResponse('')

However, in this circumstance I wouldn't do that - you're signalling to the AJAX that there was an error, so you should return an error response, possibly code 400 - which you can do by using HttpResponseBadRequest instead.


I think the best code to return an empty response is 204 No Content.

from django.http import HttpResponsereturn HttpResponse(status=204)

However, in your case, you should not return an empty response, since 204 means: The server *successfully* processed the request and is not returning any content..

It is better returning some 4xx status code to better signal the error is in the client side. Yo can put any string in the body of the 4xx response, but I highly recommend you send a JSONResponse:

from django.http import JsonResponsereturn JsonResponse({'error':'something bad'},status=400)