Вопрос:
Я использую Django 1.6.5 в своей программе txsite с настройками:
DEBUG = True
Я устанавливаю DEBUG в False, но когда я runserver, я получаю следующую ошибку:
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False
Я попытался установить ALLOWED_HOSTS = [‘127.0.0.1’, ‘localhost’] но я получаю ту же ошибку.
кто-нибудь знает, как это понять?
Ответ №1
Пытаться
ALLOWED_HOSTS = [‘*’]
Менее безопасно, если вы не защищены от брандмауэра или в локальной сети, но это то, что я использую, и оно работает.
EDIT: Интересно, что мне нужно добавить это в некоторые из моих 1,8 проектов, даже когда DEBUG = True. Очень неуверенный, почему.
EDIT: Это связано с обновлением безопасности Django, как указано в моем комментарии.
Ответ №2
Ваше решение может состоять в том, чтобы добавить исходный IP-адрес и/или имя хоста также:
ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’, ‘111.222.333.444’, ‘mywebsite.com’]
Условие, которое должно быть удовлетворено, состоит в том, что заголовок узла (или X-Forwarded-Host если USE_X_FORWARDED_HOST включен) должен соответствовать одному из значений в ALLOWED_HOSTS.
Ответ №3
Убедитесь, что он еще не переопределен ниже в ваших настройках.py. Настройки по умолчанию:
ALLOWED_HOSTS = []
Ответ №4
Из документации: https://docs.djangoproject.com/en/1.10/ref/settings/
если DEBUG False, вам также необходимо правильно установить настройку 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’] Ответ №5
Просто сделайте это:
ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’]
Это будет трюк.
Ответ №6
Если вы работаете в PyCharm, проверьте Environmental variables для вашего Django server. Вы должны указать правильный файл module.settings
Ответ №7
вам нужно установить ALLOWED_HOSTS. Пример: ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’]
Ответ №8
Просто прокомментируйте строку: ALLOWED_HOSTS = […]