Python Flask Basics
Build web applications with Flask.
Create web apps quickly.
Install Flask
```bash pip install flask ```
Basic App
```python from flask import Flask
app = Flask(__name__)
@app.route('/') def home(): return "Hello from New York!"
@app.route('/about') def about(): return "About Page"
if __name__ == '__main__': app.run(debug=True) ```
Dynamic Routes
```python from flask import Flask
app = Flask(__name__)
@app.route('/user/<name>') def user(name): return f"Hello {name}!"
@app.route('/post/<int:post_id>') def post(post_id): return f"Post ID: {post_id}"
if __name__ == '__main__': app.run(debug=True) ```
Templates
```python from flask import Flask, render_template
app = Flask(__name__)
@app.route('/') def home(): users = ["Tom", "Sarah", "Mike"] return render_template('index.html', users=users)
templates/index.html # <ul> # {% for user in users %} # <li>{{ user }}</li> # {% endfor %} # </ul> ```
Handle Forms
```python from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] return f"Logged in as {username}" return ''' <form method="post"> <input name="username"> <input name="password" type="password"> <button type="submit">Login</button> </form> ''' ```
JSON API
```python from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/users') def get_users(): users = [ {"name": "Tom", "city": "Austin"}, {"name": "Sarah", "city": "Miami"} ] return jsonify(users)
if __name__ == '__main__': app.run(debug=True) ```
Remember
- Use debug=True for development - Templates go in templates/ folder - Static files in static/ folder