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.