2016-10-27 14 views
7

Tôi muốn đăng nhập một số dữ liệu từ biến ngữ cảnh (request, session) khi đăng nhập trong yêu cầu Flask, nhưng sử dụng hành vi mặc định nếu không.Kiểm tra xem bối cảnh yêu cầu Flask có sẵn

Tôi đang sử dụng khối try ... except trong logging.formatter. Có cách nào tốt hơn để kiểm tra ngữ cảnh yêu cầu không?

try: 
    record.user = session['user_name'] 
    record.very_important_data = request.super_secret 
except Exception: 
    record.user = None 

Trả lời

11

Sử dụng has_request_context hoặc has_app_context.

if has_request_context(): 
    # request is active 

Ngoài ra, current_app, g, request, và session là tất cả các trường của LocalProxy. Nếu proxy không bị ràng buộc, nó sẽ là False khi được coi là boolean.

if request: 
    # request is active 
Các vấn đề liên quan