Python Flask Intentional Empty Response

Question:

Is there a way to return a response (from make_response() object or similar) with certain properties so that it doesn’t render the page again and doesn’t do anything else either. I am trying to run a code on the server without generating any output

A simple ‘return None’ produces:

ValueError: View function did not return a response

This should be possible because the following only downloads a file and doesn’t render the template:

myString = "First line of a document"
response = make_response(myString)
response.headers["Content-Disposition"] = "attachment; filename=myFile.txt"
return response
Asked By: RukTech

||

Answers:

You are responding to a request, your HTTP server must return something. The HTTP ’empty response’ response is 204 No Content:

return ('', 204)

Note that returning a file to the browser is not an empty response, just different from a HTML response.

Answered By: Martijn Pieters

Use Flask Response

with status 204 (no content)

from flask import Response

return Response(status=204)
Answered By: imbr
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.