Eu uso Django 1.6.5 no meu txsite do programa com as configurações:
DEBUG = True
Defino DEBUG como False, mas quando runserver
recebo o seguinte erro:
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False
Tentei configurar ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
mas recebo o mesmo erro.
alguém sabe como descobrir?
Respostas:
Experimentar
Menos seguro se você não estiver protegido por firewall ou em uma LAN pública, mas é o que eu uso e funciona.
EDIT: Curiosamente, tenho necessidade de adicionar isso a alguns dos meus projetos 1.8, mesmo quando
DEBUG = True
. Muito inseguro por quê.EDIT: Isso é devido a uma atualização de segurança do Django, conforme mencionado em meu comentário.
fonte
grep ALLOWED_HOSTS . -ri
na pasta head do seu projeto para encontrar o arquivo correto. Nesse caso, é settings.py, mas grepping é sempre um bom conselho.ALLOWED_HOSTS
foi modificado para lidar com um ataque de religação de DNS e isso provavelmente será necessário daqui para frente. [1]: docs.djangoproject.com/en/1.10/ref/settings/#allowed-hostsSua solução pode ser adicionar o IP original e / ou nome de host também:
A condição a ser satisfeita é que o cabeçalho do host (ou
X-Forwarded-Host
seUSE_X_FORWARDED_HOST
estiver ativado) deve corresponder a um dos valores emALLOWED_HOSTS
.fonte
Certifique-se de que ele não seja redefinido mais abaixo em settings.py. As configurações padrão têm:
ALLOWED_HOSTS = []
fonte
Da documentação: https://docs.djangoproject.com/en/1.10/ref/settings/
E daqui: https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-ALLOWED_HOSTS
Estou usando algo assim:
fonte
Basta fazer isso:
Isso vai resolver o problema.
fonte
Se você trabalha em
PyCharm
, verifique oEnvironmental variables
para o seuDjango server
. Você deve especificar omodule.settings
arquivo adequadofonte
Basta comentar a linha: ALLOWED_HOSTS = [...]
fonte