CommandError: यदि आप DEBUG गलत है, तो आपको सेटिंग सेट करना होगा ।ALLOWED_HOSTS


109

मैं सेटिंग्स के साथ अपने प्रोग्राम txsite में Django 1.6.5 का उपयोग करता हूं:

DEBUG = True

मैंने डीबग को गलत पर सेट किया है, लेकिन जब मैं runserver, मुझे निम्न त्रुटि मिलती है:

CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False

मैंने सेटिंग की कोशिश की ALLOWED_HOSTS = ['127.0.0.1', 'localhost']लेकिन मुझे वही त्रुटि मिली।

किसी को पता है कि यह कैसे पता लगाना है?


जाँच करें कि नीचे आपने फिर से DEBUG = True परिभाषित किया है। यह सिर्फ एक बुरा मुकाबला हो सकता है। मुझे यहाँ इसलिए मिला क्योंकि मैंने DEBUG = झूठी दुर्घटना को रद्द कर दिया था
Tms91

जवाबों:


153

प्रयत्न

ALLOWED_HOSTS = ['*']

यदि आप फ़ायरवॉल से या सार्वजनिक लैन पर नहीं हैं, तो कम सुरक्षित है, लेकिन यह वही है जो मैं उपयोग करता हूं और यह काम करता है।

संपादित करें: दिलचस्प बात यह है कि मुझे अपने 1.8 प्रोजेक्ट्स में से कुछ को जोड़ने की जरूरत है, तब भी DEBUG = True। बहुत अनिश्चित क्यों।

संपादित करें: यह एक Django सुरक्षा अद्यतन के कारण है जैसा कि मेरी टिप्पणी में उल्लेख किया गया है।


कोड को बेकार न करने के लिए मुझे कोड को सही तरीके से कहां रखना चाहिए?
Мал

4
क्या grep ALLOWED_HOSTS . -riसही फ़ाइल को खोजने के लिए अपनी परियोजना के सिर फ़ोल्डर में। यह इस मामले में settings.py है, लेकिन grepping हमेशा अच्छी सलाह है।
हराल्ड नॉर्डग्रेन 11:14

मुझे इसे किस फ़ाइल में लिखना चाहिए?
मोना जलाल

@ मोनाजलाल कृपया हैराल्ड की टिप्पणी देखें।
केई रसेल

1
[Django डॉक्स] [1] के अनुसार, ALLOWED_HOSTSएक डीएनएस विद्रोही हमले को संबोधित करने के लिए व्यवहार को संशोधित किया गया है और यह संभवतः आगे बढ़ने के लिए आवश्यक है। [१]: docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts
Kye रसेल

55

आपका समाधान मूल आईपी और / या होस्टनाम जोड़ने के लिए हो सकता है:

ALLOWED_HOSTS = ['localhost', '127.0.0.1', '111.222.333.444', 'mywebsite.com']

संतुष्ट होने की शर्त यह है कि होस्ट हेडर (या X-Forwarded-Hostयदि USE_X_FORWARDED_HOSTसक्षम है) को किसी एक मान से मेल खाना चाहिए ALLOWED_HOSTS


2
इसे कॉन्फ़िगर करने के बाद, अच्छे पुराने पुनरारंभ ने मेरे लिए काम किया ...
राजमन

28

सुनिश्चित करें कि यह आपकी सेटिंग में दोबारा कम नहीं किया गया है। डिफ़ॉल्ट सेटिंग्स में है:

ALLOWED_HOSTS = []


1
त्रुटि संदेश इस की तलाश में एक दूर जाता है। पोस्ट करने का शुक्रिया।
जुलफ sc

15

प्रलेखन से: https://docs.djangoproject.com/en/1.10/ref/settings/

यदि DEBUG गलत है, तो आपको ALLOWED_HOSTS सेटिंग को ठीक से सेट करने की भी आवश्यकता है। ऐसा करने में विफल रहने के परिणामस्वरूप सभी अनुरोध "खराब अनुरोध (400)" के रूप में वापस आ जाएंगे।

और यहाँ से: https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-ALLOWED_HOSTS

मैं कुछ इस तरह का उपयोग कर रहा हूँ:

ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'www.mysite.com']


1

यदि आप काम करते हैं PyCharm, तो Environmental variablesअपनी जाँच करें Django server। आपको उचित module.settingsफ़ाइल निर्दिष्ट करनी चाहिए


-8

बस लाइन से टिप्पणी करें: ALLOWED_HOSTS = [...]


यदि टिप्पणी है, तो कैसे पता चलेगा कि कहां पुनर्निर्देशित किया जाए?
cdrrr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.