Это лишь незначительная проблема программирования, а скорее проблема сети.
Я пытаюсь заставить веб-приложение Django работать в моей домашней сети, и я не могу получить какие-либо машины в сети для доступа к веб-странице. Я запустил порты 80 и 8000 без удачи. Сообщение об ошибке: «Firefox не может установить соединение с сервером по адресу 192.168.x.x.»
Я пытался использовать сокеты в Python от клиента:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect ( ("192.168.x.x", 80) )
Я просто получаю «socket.error (10061,« Отказано в соединении »). Интересно, что я могу подключиться к порту 25.
Брандмауэр Windows не работает. Перед кабельным модемом находится маршрутизатор / межсетевой экран NetGear.
На что мне обратить внимание, чтобы настроить это?
Также пробовал:
import urllib2
urllib2.urlopen("http://192.168.x.x/")
То же самое.
Re: «Вы видите приложение Django с компьютера, на котором оно запущено?»
Да. Он работает на той же машине. Не работает по сети.
Я также могу настроить сервер на работу с любым выбранным портом (80, 8000 и т. Д.), И он будет доступен локально, а не по сети.
Q. Это netstat-способный?
А. Да:
Proto Local Address Foreign Address State
....
TCP D3FL2J71:http localhost:1140 TIME_WAIT
TCP D3FL2J71:http localhost:1147 TIME_WAIT
Веб-сайт отображается в двух окнах браузера локально.
Использовать явный внешний порт (не полагаться на localhost):
python manage.py runserver 192.168.x.x:8000
Bing Bing Bing! У нас есть победитель!
Ух, я всегда рад, что это не проблема с сетью.
"Приложение Django определенно рекламирует себя по адресу 192.168.x.x, а не только по шлейфу?"
Кажется, Джон тоже был на правильном пути, но комментарий не указывал мне направление поиска - проверьте установочный вызов сервера Django.