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'] но я получаю ту же ошибку. кто-нибудь знает, как это понять? Ответ

Вопрос:

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

Оцените статью
Добавить комментарий