Je lance python manage.py runserver
à partir d'une machine A
quand j'essaie de vérifier sur machine B
. L'URL que j'ai tapée est http://A:8000/
.
Je reçois une erreur comme Le système a renvoyé: (111) Connexion refusée
Je lance python manage.py runserver
à partir d'une machine A
quand j'essaie de vérifier sur machine B
. L'URL que j'ai tapée est http://A:8000/
.
Je reçois une erreur comme Le système a renvoyé: (111) Connexion refusée
Vous pouvez l'exécuter pour les machines de votre réseau en
./manage.py runserver 0.0.0.0:8000
Ensuite, vous pourrez accéder à votre serveur depuis n'importe quelle machine de votre réseau. Il vous suffit de taper sur une autre machine dans le navigateur http://192.168.0.1:8000
où 192.168.0.1
est l'IP de votre serveur... et il est prêt à fonctionner....
ou dans votre cas:
A
dans la ligne de commande ./manage.py runserver 0.0.0.0:8000
B
dans le navigateur tapez http://A:8000
Oui. C'est exactement ce que je fais. J'exécute django dans ma machine virtuelle Ubuntu, puis je m'y connecte depuis ma machine hôte Windows pour tester sous Windows.
Pour moi, cela fonctionne comme une horloge. J'ai aussi Ubuntu. Et mon ami a Windows 7. Essayez de ping votre hôte d'abord. Et assurez-vous d'avoir correctement ajusté votre VM!
J'utilise cette version de la commande afin de pouvoir accéder au serveur de développement Django sur mon Mac depuis ma machine virtuelle Parallels WinXP.
Vous devez indiquer à manage.py l'adresse IP locale et le port auquel se 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 depuis l'autre machine. Vous pouvez en savoir plus à ce sujet ici dans la documentation.
Merci pour la réponse, mais je reçois toujours une erreur comme Erreur : Cette adresse IP ne peut pas être attribuée.
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, il prendra 127.0.0.1 comme adresse IP par défaut et 8000. 127.0.0.0 est la même chose que localhost qui peut être accédé localement. pour y accéder depuis une origine croisée, vous devez l'exécuter sur votre adresse IP système ou 0.0.0.0. 0.0.0.0 peut être accédé depuis n'importe quelle origine dans le 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 pas celui par défaut.
Pour ce faire, vous devez exécuter le serveur avec la commande python manage.py runserver 0.0.0.0:
comme mentionné ci-dessus
ou, définissez une adresse IP et un port par défaut dans votre environnement python. Pour cela, consultez ma réponse sur django change default runserver port
Amusez-vous à coder .....
Juste au cas où certains utilisateurs de Windows rencontrent des problèmes, j'ai pensé ajouter mon propre expérience. Lorsque j'ai exécuté python manage.py runserver 0.0.0.0:8000
, je pouvais afficher les URL en utilisant localhost:8000
, mais pas mon adresse IP 192.168.1.3:8000
.
J'ai fini par désactiver l'IPv6 sur mon adaptateur sans fil et exécuter ipconfig /renew
. Après cela, tout a fonctionné comme prévu.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
docs.djangoproject.com/fr/dev/ref/django-admin/…
4 votes
Par défaut, il utilise l'adresse localhost (127.0.0.1), qui n'accepte pas les connexions provenant d'autres machines sur le réseau. 127.x.x.x est considéré comme son propre réseau, et un ordinateur ne fait pas de routage entre celui-ci et ses autres interfaces à moins qu'on ne lui dise explicitement de le faire. Par conséquent, se connecter à partir d'un autre réseau ne trouvera pas le port ouvert. Ce que vous voulez est
./manage.py runserver A:8000
.