Performance: Request context
This affects how Flask manages data per request, impacting memory usage and request handling speed.
from flask import request def view(): user_agent = request.headers.get('User-Agent') for _ in range(1000): _ = user_agent return 'Done'
from flask import request def view(): user_agent = request.headers.get('User-Agent') for _ in range(1000): _ = request.headers.get('User-Agent') return 'Done'
| Pattern | Context Accesses | CPU Load | Request Latency | Verdict |
|---|---|---|---|---|
| Repeated request context access in loop | 1000+ | High | Increased | [X] Bad |
| Single request context access cached in variable | 1 | Low | Reduced | [OK] Good |
request object represent during a web request?request in Flaskrequest object holds data about the current HTTP request, such as headers, form inputs, and client IP.request.request object in a Flask app?request as a lowercase object to import directly from flask.print(request.method) output when a user visits /hello in a browser?from flask import Flask, request
app = Flask(__name__)
@app.route('/hello')
def hello():
print(request.method)
return 'Hi'from flask import Flask, request
app = Flask(__name__)
@app.route('/data')
def data():
user_agent = request.headers['User-Agent']
return user_agent
print(request.method)request.method is accessedrequest.method outside any route or request handling function.request object only works inside a request context, such as inside route functions. Accessing it outside causes a runtime error.from flask import Flask, request
app = Flask(__name__)
@app.route('/log')
def log_ip():
# Fill in the blank
client_ip = _____
print(f'Client IP: {client_ip}')
return 'Logged'request.remote_addr.request.client_ip and request.ip_address do not exist. request.headers['Client-IP'] may not be set reliably.Pass the test and this pattern moves unknown