0
0
Flaskframework~5 mins

Debug mode error pages in Flask

Choose your learning style9 modes available
Introduction

Debug mode error pages help you see detailed error information when your Flask app has a problem. This makes fixing bugs easier.

When you are building a Flask app and want to find mistakes quickly.
When you want to see the exact error and where it happened in your code.
When testing new features to catch errors early.
When you want to see helpful debugging tools in your browser.
When running your app locally before making it live.
Syntax
Flask
app = Flask(__name__)
app.debug = True

# or
app = Flask(__name__)
app.config['DEBUG'] = True

if __name__ == '__main__':
    app.run(debug=True)
Setting app.debug = True or app.config['DEBUG'] = True turns on debug mode.
Debug mode shows detailed error pages with stack traces and interactive debugger.
Examples
This example turns on debug mode by setting app.debug = True. If an error happens, Flask shows a detailed error page.
Flask
from flask import Flask
app = Flask(__name__)
app.debug = True

@app.route('/')
def home():
    return 'Hello, debug mode!'

if __name__ == '__main__':
    app.run(debug=True)
This example uses app.config['DEBUG'] = True and intentionally causes an error to show the debug error page.
Flask
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True

@app.route('/')
def home():
    1 / 0  # This will cause an error

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

This Flask app runs with debug mode on. When you visit the home page, it causes a division by zero error. Flask shows a detailed debug error page with the error message and stack trace.

Flask
from flask import Flask
app = Flask(__name__)
app.debug = True

@app.route('/')
def home():
    # Intentional error to show debug page
    return 1 / 0

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

Never use debug mode on a live website because it can show sensitive information to visitors.

Debug mode automatically reloads the app when you change code, so you don't need to restart manually.

If you see the debug error page, you can use the interactive debugger to inspect variables and fix the problem.

Summary

Debug mode shows detailed error pages to help find bugs quickly.

Turn it on by setting app.debug = True or app.config['DEBUG'] = True.

Use debug mode only during development, never in production.