Utilizo Django 1.6.5 en mi programa txsite con la configuración:
DEBUG = True
Configuré DEBUG en False, pero cuando runserver
obtengo el siguiente error:
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False
Intenté configurar ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
pero me sale el mismo error.
¿Alguien sabe cómo resolverlo?
Respuestas:
Tratar
Menos seguro si no está protegido por un cortafuegos o en una LAN pública, pero es lo que uso y funciona.
EDITAR: Curiosamente, he estado necesitando agregar esto a algunos de mis proyectos 1.8 incluso cuando
DEBUG = True
. No estoy seguro de por qué.EDITAR: Esto se debe a una actualización de seguridad de Django como se menciona en mi comentario.
fuente
grep ALLOWED_HOSTS . -ri
en la carpeta principal de tu proyecto para encontrar el archivo correcto. En este caso es settings.py, pero grepping siempre es un buen consejo.ALLOWED_HOSTS
ha sido modificado para abordar un ataque de reenlace de DNS y esto probablemente sea necesario en el futuro. [1]: docs.djangoproject.com/en/1.10/ref/settings/#allowed-hostsSu solución podría ser agregar la IP original y / o el nombre de host también:
La condición que debe cumplirse es que el encabezado del host (o
X-Forwarded-Host
siUSE_X_FORWARDED_HOST
está habilitado) debe coincidir con uno de los valores enALLOWED_HOSTS
.fuente
Asegúrate de que no se vuelva a definir más abajo en tu settings.py. La configuración predeterminada tiene:
ALLOWED_HOSTS = []
fuente
De la documentación: https://docs.djangoproject.com/en/1.10/ref/settings/
Y desde aquí: https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-ALLOWED_HOSTS
Estoy usando algo como esto:
fuente
Solo haz esto:
Hará el truco.
fuente
Si trabaja en
PyCharm
, verifique elEnvironmental variables
para suDjango server
. Debe especificar elmodule.settings
archivo adecuadofuente
Simplemente comente la línea: ALLOWED_HOSTS = [...]
fuente