Flask . . Flask Python .
Python:
Python
. Python, , . «» .
, , :
|
1 2 3 4 5 |
def request_logger(f): # ... # # ... return f |
request_logger , Python. , , , - f.
( ) . , , :
|
1 2 3 |
@request_logger def log_a_request(request): pass |
, , , , - . , Python « » , Python ( log_a_request) .
, , , :
|
1 2 3 4 |
def log_a_request(request): pass log_a_request = request_logger(log_a_request) |
, , , , , . .
, , , return f, .
, , , . request_logger.
. , , :
|
1 2 3 4 5 |
all_request_loggers = [] def request_logger(f): all_request_loggers.append(f) return f |
, , :
|
1 2 3 |
@request_logger def log_a_request(request): print(request.method, request.path) |
, request_logger(), , log_a_request, f. all_request_loggers. , , all_request_loggers.
, , ( ). for :
|
1 2 3 |
def invoke_request_loggers(request): for logger in all_request_loggers: logger(request) |
, Flask :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from flask import Flask, request app = Flask(__name__) all_request_loggers = [] def request_logger(f): all_request_loggers.append(f) return f def invoke_request_loggers(request): for logger in all_request_loggers: logger(request) @request_logger def log_a_request(request): print(request.method, request.path) @app.route('/') def index(): invoke_request_loggers(request) return 'Hello World!' |
, , log_a_request() index(). , , . , , .
index() . , . , .
, , . , , request_logger . , , invoke_request_loggers().
(Observer)
, , , Observer. Python, , , .
. :
- , ;
- , , ;
- , ;
- -, Flask.
route,before_request,after_requestteardown_request. , , . , , . .
, , , Python. , , . , .
Python, Golang Kotlin. , . .
E-mail: vasile.buldumac@ati.utm.md
Universitatea Tehnic a Moldovei (utm.md)
- 2014 — 2018 , -. « »
- 2018 — 2020 , , « »