Wydaje się, że jest kilka problemów. Pytanie, które większość odpowiedzi dotyczy to "jak połączyć się z innym serwerem w sieci lokalnej?" (lub warianty). Istnieją dwie odpowiedzi: możesz użyć adresu IP komputera bezpośrednio lub możesz użyć nazwy komputera (może być konieczne dołączenie .local
). Na przykład mój komputer to xavier.local
.
Drugim problemem jest to, że wydaje się, że jest to zajęcie runserver
nie jest dostępny za pośrednictwem innych komputerów w sieci (jest to rzeczywisty pytanie). Powodem jest to, że domyślnie runserver Django przyjmuje tylko żądania od maszyny, która je wywołuje. Oznacza to, że ustawienia domyślne sprawiłyby, że dostęp do serwera byłby możliwy tylko z systemu Windows (i zrobili to celowo ze względów bezpieczeństwa).W celu użycia go do słuchania innych żądań masz dwie opcje:
runserver 192.168.1.101:8000
# Only handle requests which are made to the IP address 192.168.1.101
Albo (i to jest łatwiejsze gdy ma do czynienia z więcej niż jednym środowisku):
runserver 0.0.0.0:8000 # handle all requests
Dlatego, jeśli adres IP jest 192.168.1.101:
runserver # only requests made on the machine will be handled
runserver 127.0.0.1 # only requests made on the machine will be handled
runserver 192.168.1.101 # handles all requests (unless IP changes)
runserver 192.168.1.100 # does not handle any requests (wrong IP)
runserver 0.0.0.0 # handles all requests (even if the IP changes)
ja sądzę, że ważne jest, aby pamiętać, że 0.0.0.0
jest realistyczny nie jest to pytanie bezpieczeństwa w przypadku pracy z lokalną maszyną programistyczną. Staje się to poważnym problemem podczas pracy nad dużą aplikacją z maszyną, którą można adresować ze świata zewnętrznego. O ile nie masz przekierowania portu (ja) lub czegoś takiego, nie powinieneś się tym przejmować.
Nie można uzyskać dostępu do 127.0.0.1 z innego pola. Musisz upewnić się, że twoja strona nasłuchuje na twoim adresie sieciowym w twojej sieci LAN, a nie tylko localhost. – Joe
@Joe, więc muszę uruchomić mój localhost z 0000 zamiast 8000? – doniyor
0.0.0.0 (będzie nasłuchiwał na wszystkich interfejsach). Nie ma potrzeby zmiany portu. Ale twój serwer musi to już zrobić dla ciebie. Czy próbowałeś uzyskać dostęp przez ip (i port 8000) interfejsu bezprzewodowego? –