Flask Basics & Application Setup

πŸ“¦ Install

python -m venv venv
source venv/bin/activate      # Windows: venv\Scripts\activate
pip install flask
pip freeze > requirements.txt

Always use a virtual environment. Keeps project deps isolated.

πŸ—οΈ App object

from flask import Flask
app = Flask(__name__)   # __name__ lets Flask find templates/static relative to this file

πŸƒ Run

if __name__ == "__main__":
    app.run(debug=True)                      # default: 127.0.0.1:5000
    app.run(debug=True, host="0.0.0.0", port=8000)   # network-visible, custom port
# alternative CLI method
export FLASK_APP=app.py       # Windows: set FLASK_APP=app.py
export FLASK_DEBUG=1
flask run

Dev server β‰  production. See Flask Testing & Deployment for Gunicorn/Nginx.

debug=True enables an interactive debugger that can execute arbitrary code. Never enable in production.

🧩 A route, at a glance

@app.route("/")
def home():
    return "Hello, Flask!"    # return value = response body

πŸ—‚οΈ Minimal project layout

myproject/
β”œβ”€β”€ venv/
β”œβ”€β”€ app.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ templates/
└── static/

πŸ”— Next

Flask Routing & URL Building Β· Flask Request & Response Objects