CommandError: вы должны установить settings.ALLOWED_HOSTS, если DEBUG False

Я использую 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 = [...]