Saltar al contenido

¿Cómo usar Django para obtener el nombre del servidor host?

Solución:

Por lo general, pongo algo como esto en settings.py:

import socket

try:
    HOSTNAME = socket.gethostname()
except:
    HOSTNAME = 'localhost'

Si tiene una solicitud (por ejemplo, esto está dentro de una vista), puede mirar request.get_host() que le da un nombre de ubicación completo (host y puerto), teniendo en cuenta los encabezados de proxy inverso, si los hubiera. Si no tiene una solicitud, debe configurar el nombre de host en algún lugar de su configuración. En muchos casos, solo mirar el nombre de host del sistema puede resultar ambiguo, siendo los hosts virtuales los más comunes.

Solo agregue a la respuesta de @ Tobu. Si tiene un objeto de solicitud y le gustaría conocer el protocolo (es decir, http / https), puede usar request.scheme (como sugiere el comentario de @ RyneEverett).

Alternativamente, puede hacer (respuesta original a continuación):

if request.is_secure():
    protocol="https"
else:
    protocol="http"

Porque is_secure () devuelve True si la solicitud se realizó con HTTPS.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *