'Cant run flask on ngrok

from flask import Flask, escape, request

app = Flask(__name__)
run_with_ngrok()
@app.route('/')
def hello():
   name = request.args.get("name", "World")
   return f'Hello, {escape(name)}!'

When I run the this from terminal with "flask run" it doesn't print an ngrok link. Im i an virtual env and i have tried running it with python "file name" and it did not work.



Solution 1:[1]

if you are trying to expose your ip through ngrok, you can try tunneling with ngrok on terminal for the flask app's port

your app code should look like :

from flask import Flask, escape, request

app = Flask(__name__)

@app.route('/')
def hello():
   name = request.args.get("name", "World")
   return f'Hello, {escape(name)}!'
   
   
if __name__ == "__main__":
   app.run(port=5000)

you can tunnel the flask app port with the following command:

ngrok http 5000

here the port 5000 denotes the flask app port.

Solution 2:[2]

I think you forgot to add this part to end of your file

if __name__ == "__main__":
   app.run()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Surya R
Solution 2 Mohammad