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?

Вернуться на верх