मैं एक सशर्त ब्लॉक के साथ मेरी settings.py
फ़ाइल संपादित, इस तरह:
import os # If needed.
if os.environ.get('DJANGO_DEBUG'):
print("Debug is enabled.")
DEBUG = True
# When not specified, ALLOW_HOSTS defaults to:
# ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]']
else:
DEBUG = False
ALLOWED_HOSTS = ["*"]
फिर, पर्यावरण चर DJANGO_DEBUG=1
पास करके अपने सर्वर चलाते हैं।
DJANGO_DEBUG=1 python -Wall manage.py runserver
न आना है कि पर्यावरण चर जब डिबग निष्क्रिय करने के लिए (क्योंकि यह किसी भी मूल्य के लिए सेटिंग, 0
सहित अभी भी यह अजगर को सच कर देगा manage.py
बुला: आप इतने लंबे समय के रूप में आप संगत कर रहे हैं चर कुछ भी आप चाहते हैं नाम कर सकते हैं कोड)
अद्यतन:। एक टिप्पणीकार ने कहा कि ALLOWED_HOSTS
निर्देश जब DEBUG
True
है नजरअंदाज कर दिया है। यह Django के पुराने संस्करणों में केवल सच है। वर्तमान व्यवहार ALLOWED_HOSTS
का सम्मान करना है या स्थानीयहोस्ट पते पर डिफ़ॉल्ट है यदि यह निर्दिष्ट नहीं है कि DEBUG
सक्षम है। मेरा जवाब इसे मामूली सुधार के रूप में प्रतिबिंबित करने के लिए अपडेट किया गया है।
यह Django documentation से ली जाती है:
जब डीबग यह सच है और ALLOWED_HOSTS खाली है, मेजबान [ 'स्थानीय होस्ट', '127.0.0.1' के खिलाफ मान्य है, '[:: 1]' ]
इसके अतिरिक्त, यह कहा गया है कि व्यवहार पर अब कुछ प्रमुख संस्करण लाइनों में पुरानी है अपनी टिप्पणी:
पुराने संस्करणों में, ALLOWED_HOST डीबीयूजी = सही अगर एस की जांच नहीं की गई थी। यह DNS रिबाइंडिंग हमले को रोकने के लिए Django 1.10.3, 1.9.11, और 1.8.16 में भी बदला गया था।
जो कि एक ही आदेश के लिए पर्याप्त है, धन्यवाद! – Ted
'DJANGO_SETTINGS_MODULE' env var का उपयोग किसी विशेष सेटिंग फ़ाइल पर किसी वातावरण को निर्देशित करने के लिए किया जा सकता है। – ThorSummoner