web-dev-qa-db-fra.com

serveur de gestion manage.py

J'exécute Python manage.py Rueserver À partir d'une machine A Lorsque j'essaie d'enregistrer la machine B L'URL que j'ai tapé est http: // A: 8000/ Je reçois une erreur comme Le système a renvoyé: (111) La connexion a été refusée.

58
sreekanth

Vous pouvez l’exécuter pour les machines de votre réseau en

./manage.py runserver 0.0.0.0:8000

Et puis, vous pourrez accéder à votre serveur à partir de n’importe quelle machine de votre réseau. Il suffit de taper sur une autre machine du navigateur http://192.168.0.1:8000192.168.0.1 est l'adresse IP de votre serveur ... et il est prêt à partir ....

ou dans votre cas: 

  1. Sur la machine A dans la ligne de commande ./manage.py runserver 0.0.0.0:8000
  2. Que d'essayer dans la machine B dans le type de navigateur http://A:8000 
  3. Faire une gorgée de bière.

Source de la documentation Django

111
Pol

Vous devez indiquer à manage.py l'adresse IP locale et le port auquel vous souhaitez vous connecter. Quelque chose comme python manage.py runserver 192.168.23.12:8000. Ensuite, utilisez la même adresse IP et le même port que l’autre ordinateur. Vous pouvez en savoir plus à ce sujet ici dans la documentation.

11
Jason Webb

Je me débattais avec le même problème et j'ai trouvé une solution. Je suppose que cela peut vous aider. lorsque vous exécutez python manage.py runserver, l'adresse IP par défaut et 8000 sont définis à 127.0.0.1. 127.0.0.0 est identique à localhost, accessible localement. pour y accéder depuis cross Origin, vous devez l'exécuter sur votre système ou sur l'IP 0.0.0.0. 0.0.0.0 est accessible à partir de n’importe quelle origine du réseau. pour le numéro de port, vous devez définir la stratégie entrante et sortante de votre système si vous souhaitez utiliser votre propre numéro de port, et non celui par défaut. 

Pour ce faire, vous devez exécuter le serveur avec la commande python manage.py runserver 0.0.0.0:<your port> comme mentionné ci-dessus. 

ou, définissez une adresse IP et un port par défaut dans votre environnement Python. Pour cela, voir ma réponse sur Django change le port du serveur de serveur d'exécution par défaut

Profitez de la programmation .....

5
Amrendra

dans flask en utilisant flask.ext.script, vous pouvez le faire comme ceci:

python manage.py runserver -h 127.0.0.1 -p 8000

4
wuxueqian

Juste au cas où des utilisateurs Windows auraient des problèmes, j'ai pensé ajouter ma propre expérience. Lors de l'exécution de python manage.py runserver 0.0.0.0:8000, je pouvais afficher les URL à l'aide de localhost:8000, mais pas de mon adresse IP 192.168.1.3:8000

J'ai fini par désactiver ipv6 sur mon adaptateur sans fil et exécuter ipconfig /renew. Après cela, tout a fonctionné comme prévu. 

2
benrules2

J'ai eu le même problème et voici ma façon de le résoudre:

Premièrement, vous devez connaître votre adresse IP . Sur mon PC Windows, dans la fenêtre des commandes, je lance ipconfig et sélectionnez mon adresse IP V4. Dans mon cas 192.168.0.13

Deuxième comme mentionné ci-dessus: runserver 192.168.0.13:8000

Cela a fonctionné pour moi… L'erreur que j'ai commise pour obtenir le message était l'utilisation de l'adresse de passerelle et non de mon adresse PC.

0
alvaro562003