2012-05-12 12 views
11

के तहत चलते समय फ्लास्क डीबगर सक्रिय करना mod_wsgi के अंतर्गत चलते समय मैं फ्लास्क डीबगर को कैसे सक्रिय कर सकता हूं?mod_wsgi

मेरे पास DEBUG, PROPAGATE_EXCEPTION और PRESERVE_CONTEXT_ON_EXCEPTION सत्य पर सेट है, लेकिन फिर भी डीबगर अपवादों पर प्रकट नहीं होता है।

उत्तर

10

पर बोतल दस्तावेज़ में वर्णित के रूप में:

http://flask.pocoo.org/docs/quickstart/#debug-mode

उपयोग:

app.debug = True 

mod_wsgi के तहत आप app.run नहीं कर रहे हैं(), हालांकि।

सुनिश्चित करें कि आप वैश्विक क्षेत्र में 'app.debug' सेट कर रहे हैं, न कि एक सशर्त अनुभाग में जहां यह जांच कर रहे हैं कि __name__ __main__ है या नहीं।

from werkzeug.debug import DebuggedApplication application = DebuggedApplication(app, True)

यह मेरे लिए @jd काम से Earley सुझाव दिया है:

+7

मैंने अपनी .wsgi फ़ाइल में बस 'app.debug = True' रखा है और यह अभी भी काम नहीं करता है। जो मैंने पाया है वह काम है 'werkzeug.debug आयात डीबग किए गए अनुप्रयोग' 'अनुप्रयोग = डीबग किए गए एप्लिकेशन (ऐप, ट्रू)'। –

+1

यह प्राप्त करने का लंबा हाथ है। ऐप.डेबग सेट करते समय आपने जो किया है, उसे देखने के लिए वास्तव में आपके डब्लूएसजीआई फ़ाइल में जो कुछ भी है, वह वास्तव में आपके द्वारा बहस नहीं कर सकता है। –

+1

http://flask.pocoo.org/docs/quickstart/#debug-mode से "हालांकि इंटरैक्टिव डीबगर फोर्किंग वातावरण में काम नहीं करता है (जो उत्पादन सर्वर पर उपयोग करना लगभग असंभव बनाता है), यह अभी भी निष्पादन की अनुमति देता है मनमानी कोड का। यह इसे एक बड़ा सुरक्षा जोखिम बनाता है और इसलिए इसे कभी भी उत्पादन मशीनों पर उपयोग नहीं किया जाना चाहिए। " मेरे लिए कौन सा मतलब है कि app.debug = True को mod_wsgi के तहत डिफ़ॉल्ट रूप से काम नहीं करना चाहिए – kerma

4

आप WERKZEUG द्वारा प्रदान इंटरैक्टिव डिबगर का उपयोग कर सकते हैं।

संबंधित मुद्दे