2013-04-28 7 views
6

लागू नहीं है वर्तमान में मेरे पास हेरोकू पर एक चल रहा उत्पादन Django एप्लिकेशन है। दुर्भाग्य से, मैं Heroku पर DEBUG सेटिंग को बंद करने में सक्षम नहीं हूं। इसे बंद करना स्थानीय रूप से ठीक काम करता है, लेकिन जब हेरोकू (heroku config:set DEBUG=False के बाद) पर धक्का दिया जाता है, तो यह लागू नहीं होता है।हेरोकू Django DEBUG सेटिंग

त्रुटि पृष्ठ अभी भी हमारे टेम्पलेट रूट में 404, 403, और 500 टेम्पलेट्स के बजाय डिफ़ॉल्ट DEBUG वाले हैं।

मैंने सेटिंग के साथ के साथ किसी भी पर्यावरण विवाद के मामले में सेटिंग को DJANGO_DEBUG सेटिंग का उपयोग करने का प्रयास किया है, और परिणाम फ़ाइल में एक बूलियन को कास्टिंग कर दिया है। heroku config दिखाता है कि पर्यावरण में सेटिंग्स सही हैं। यह Django 1.3, Heroku Cedar पर है।

कोई सुझाव या समाधान?

उत्तर

10

क्या आपकी django settings.py फ़ाइल भी पर्यावरण में दिखती है?

यह डिफ़ॉल्ट रूप से, पर्यावरण में सेट की गई किसी भी चीज की परवाह नहीं करता है ("config: set" के माध्यम से)। यदि आप एक बूलियन के लिए पर्यावरण "कास्टिंग" कर रहे हैं, तो सुनिश्चित करें कि आप इसे सही तरीके से कास्टिंग कर रहे हैं। बूल ('झूठा') अभी भी सच है।

यह पता लगाने के लिए सबसे आसान है कि पर्यावरण चर मौजूद है या नहीं, इसलिए आपको कॉन्फ़िगरेशन के प्रकार कास्टिंग या विशिष्ट प्रारूपों के बारे में चिंता करने की आवश्यकता नहीं है।

DEBUG = os.environ.get('DEBUG', False)

डिबग को अक्षम करने के हटाने बजाय डाली टाइप करने के लिए कोशिश कर के वातावरण से चर ... यह सिर्फ और अधिक विश्वसनीय लगता है और सबूत मूर्ख। config:unset DEBUG

+0

हाँ, स्टेजिंग और उत्पादन के बीच कुछ भी अलग वातावरण से चित्रित है। मैं इसे पूरी तरह से हटाने की कोशिश करूंगा। – Murph

+0

बहुत बढ़िया, इसे गलत तरीके से सेट करने के बजाए इसे हटाकर पूरी तरह से काम किया! धन्यवाद! – Murph

+1

बहुत बढ़िया! तो मैं अनुमान लगा रहा हूं कि कास्टिंग कास्टिंग शायद ऊन ('गलत') काम नहीं कर रहा था। –

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