2016-10-27 7 views
7

मैं फ्लास्क अनुरोध के दौरान लॉग इन करते समय संदर्भ चर (request, session) से कुछ डेटा लॉग करना चाहता हूं, लेकिन यदि डिफ़ॉल्ट नहीं है तो डिफ़ॉल्ट व्यवहार का उपयोग करें।जांचें कि फ्लास्क अनुरोध संदर्भ उपलब्ध है

मैं में try ... except ब्लॉक का उपयोग कर रहा हूं। अनुरोध संदर्भ की जांच करने का कोई बेहतर तरीका है?

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

उत्तर

11

उपयोग has_request_context या has_app_context

if has_request_context(): 
    # request is active 

वैकल्पिक रूप से, current_app, g, request, और sessionLocalProxy के सभी उदाहरणों हैं। यदि प्रॉक्सी बाध्य नहीं है, तो यह बूलियन के रूप में माना जाने पर False होगा।

if request: 
    # request is active 
संबंधित मुद्दे