python - readthedocs - django-allauth: ¿cómo modificar la dirección de correo electrónico de confirmación?
django allauth twitter (2)
Django obtiene el nombre de host y el puerto de los encabezados HTTP. Agregar proxy_set_header Host $http_host;
en su configuración nginx antes de las opciones proxy_pass
.
Estoy ejecutando django en el puerto 8001, mientras que nginx está manejando las tareas del servidor web en el puerto 80. Vistas de proxies de nginx y algunas llamadas de API REST a Django. Estoy usando django-allauth para el registro / autenticación del usuario.
Cuando un nuevo usuario se registra, django-allauth envía al usuario un correo electrónico con un enlace para hacer clic. Como django se está ejecutando en el puerto 8001, el enlace se ve como http://machine-hostname:8001/accounts/confirm-email/xxxxxxxxxxxxxx
¿Cómo puedo hacer que la URL parezca http://www.example.com/accounts/confirm-email/xxxxxxxx
?
¡Gracias!
Tuve el mismo problema, y también encontré que la solución de ferrangb no tuvo ningún efecto en los correos salientes de Allauth. La respuesta de mr_tron me llevó a la mitad, pero tuve que hacer un poco más:
1) En la configuración nginx, poner
proxy_set_header Host $http_host
antes de las opciones proxy_pass.
2) En settings.py
, agregue el nombre de dominio a ALLOWED_HOSTS
. También agregué la versión www de mi nombre de dominio, ya que recibí tráfico a ambas direcciones.
ALLOWED_HOSTS = [''127.0.0.1'', ''example.com'', ''www.example.com'']
Y, por supuesto, reinicia nginx y gunicornio o lo que sea que esté sirviendo a tu Django. Con el primer paso, pero no el segundo, todas las visitas al sitio fueron errores instantáneos de 400 (a menos que DEBUG = True
en settings.py
).