Flask view return error "View function did not return a response"

ghz 1years ago ⋅ 4014 views

Question

I have a view that calls a function to get the response. However, it gives the error View function did not return a response. How do I fix this?

from flask import Flask
app = Flask(__name__)

def hello_world():
    return 'test'

@app.route('/hello', methods=['GET', 'POST'])
def hello():
    hello_world()

if __name__ == '__main__':
    app.run(debug=True)

When I try to test it by adding a static value rather than calling the function, it works.

@app.route('/hello', methods=['GET', 'POST'])
def hello():
    return "test"

Answer

The following does not return a response:

@app.route('/hello', methods=['GET', 'POST'])
def hello():
    hello_world()

You mean to say...

@app.route('/hello', methods=['GET', 'POST'])
def hello():
    return hello_world()

Note the addition of return in this fixed function.