django中当前服务器的IP和端口

IP and port of current server in django

我想在 Django 的多个服务器上使用当前 IP 和端口作为变量。我已经尝试调用 api.ipify.org 来获取 IP,但是有没有更好的方法而不进行 api 调用?

希望对您有所帮助

import socket

hostname = socket.gethostname()    
IPAddr = socket.gethostbyname(hostname) 

print("Your Computer Name is:" + hostname)    
print("Your Computer IP Address is:" + IPAddr)

获取外部 IP 的最佳方法是像您一样使用外部服务。

import requests

your_external_ip = requests.get('https://api.ipify.org').json()['ip']

您的端口将由服务器的路由配置定义。我建议从该文件中读取端口。但是,此 IP 会将您路由到您配置的端口,您无需指定它。