Socket.gethostbyname(host_name) работает в терминале, но не работает в Django?
Я пытаюсь узнать свой ip с помощью библиотеки socket в моем Django проекте с помощью этого скрипта.
import socket
host_name = socket.gethostname()
ip_address = socket.gethostbyname(host_name)
Я получаю эту ошибку:
socket.gaierror: [Errno -2] Name or service not known
Ошибка указывает на строку ip_address = socket.gethostbyname(host_name).
Но я не получаю эту ошибку при запуске этого же скрипта в терминале.
>>> import socket
>>> hostname = socket.gethostname()
>>> ip = socket.gethostbyname(hostname)
>>>
>>> ip
'192.168.191.5'
Это моя /etc/hosts
#127.0.0.1 localhost
#127.0.1.1 softcell-Latitude-3510
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
Я закомментировал все, потому что я хочу, чтобы сокет возвращал системный IP.
Почему это не работает в Django, но дает правильный вывод в Terminal?