¿Hay alguna forma de averiguar qué puerto está escuchando una instancia de Django dentro del código?¿Averigua en qué puerto se está ejecutando la instancia de Django?
Respuesta
Puede obtener la información a través de HttpRequest. Consulte los documentos de Django here.
Esto se puede acceder a través del atributo META, que es un diccionario que contiene la información del encabezado HTTP.
Ejemplo:
def someView(request):
#Try printing to screen
print request.META['SERVER_PORT']
...
return(response)
¿Existe 'SERVER_PORT' de manera confiable, o existe el peligro de que a veces falte? – exupero
bueno, por lo que puedo ver, funcionará bien en un servidor de desarrollo. No he intentado usarlo corriendo bajo Apache. Sin embargo, escribiría un poco de código de prueba para verificarlo. De lo contrario, no estoy seguro de qué otra manera lo averiguaría sin pasar por el objeto de solicitud. –
¿Qué pasa si no estás en una vista? – johnboiles
quizá request.META['SERVER_PORT']
o no estás en una vista?
¿Hay una solución cuando no estoy en una vista? – utapyngo
He encontrado que esto podría ser útil si usted necesita saber el número de puerto o dirección IP fuera de la vista
import sys
import socket
logger.error(socket.gethostbyname(socket.gethostname())+"----"+sys.argv[-1])
(en models.py por ejemplo). Esto le dará una salida como la siguiente:
192.168.1.222----0.0.0.0:8000
@utapyngo Esta es la solución cuando no está en una vista. –
- 1. ¿Cómo encontrar el puerto local en el que se está ejecutando una instancia de raíles?
- 2. ¿Obtener instancia de la actividad que se está ejecutando actualmente?
- 3. ¿Qué iniciador se está ejecutando?
- 4. ¿En qué puerto se ejecuta mi instancia de SQL2008?
- 5. ¿Cómo probar qué puerto MySQL se está ejecutando y si se puede conectar?
- 6. ¿Continuar script si solo se está ejecutando una instancia?
- 7. Django Sur migración de datos se está ejecutando dos veces
- 8. ¿Qué versión de Java se está ejecutando en Eclipse?
- 9. Verifica programáticamente si se está ejecutando syncdb
- 10. Averigüe qué JVM Eclipse se está ejecutando en
- 11. Ejecutando Sinatra en el puerto 80
- 12. ¿Se está ejecutando el hilo Java en qué procesador?
- 13. Detectando si ya se está ejecutando otra instancia de la aplicación
- 14. encuentre qué tipo de recolector de basura se está ejecutando
- 15. Perforación UDP no se está ejecutando en 3G
- 16. cómo comprobar si otra instancia de la aplicación se está ejecutando
- 17. Diciendo qué proyecto de ruby on rails se está ejecutando
- 18. Periodictask no se está ejecutando
- 19. applicationDidFinishLaunching no se está ejecutando
- 20. ¿Se está ejecutando un subproceso en iOS?
- 21. ¿Google gson se está ejecutando en android?
- 22. cómo ver qué código javascript se está ejecutando actualmente?
- 23. ¿Qué sucederá cuando edite un script mientras se está ejecutando?
- 24. ¿Qué puerto está usando un programa determinado?
- 25. ¿Cómo determinar si se está ejecutando una instancia previa de mi aplicación?
- 26. Descubriendo si la actividad de Android se está ejecutando
- 27. CMake add_custom_command no se está ejecutando
- 28. Notificación en Phonegap mientras la aplicación no se está ejecutando
- 29. Comprobar si la animación se está ejecutando en cocos2d-x
- 30. ¿Determina si el puerto está en uso?
Dentro del código Django, o de un proceso externo (por ejemplo, la línea de comandos)? – ivy
Dentro del código de Django. – exupero