Concept Flow - Context lifecycle execution
Start Request
Create Request Context
Push Context
Handle Request
Pop Context
End Request
This flow shows how Flask creates and manages the request context during a web request lifecycle.
from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): return f"Path: {request.path}"
| Step | Action | Context State | Result |
|---|---|---|---|
| 1 | Start Request | No context | Waiting for request data |
| 2 | Create Request Context | Request context created | Context holds request info |
| 3 | Push Context | Context active | Context is now accessible globally |
| 4 | Handle Request | Context active | Function 'index' runs, accesses request.path |
| 5 | Return Response | Context active | Response with path string generated |
| 6 | Pop Context | Context removed | Context cleaned up, no longer accessible |
| 7 | End Request | No context | Request lifecycle complete |
| Variable | Start | After Step 2 | After Step 3 | After Step 6 | Final |
|---|---|---|---|---|---|
| request context | None | Created | Active | Removed | None |
| request.path | N/A | N/A | Available | Unavailable | N/A |
Flask Context Lifecycle: 1. Start request, no context. 2. Create request context with request data. 3. Push context to make it active. 4. Handle request using context (e.g., request.path). 5. Return response. 6. Pop context to clean up after request.