J'ai suivi les instructions ici pour exécuter Django à l'aide du serveur Web intégré et j'ai pu l'exécuter avec succès en utilisant python manage.py runserver
. Si j'accède à 127.0.0.1:port localement depuis le serveur Web, j'obtiens la page Django indiquant que cela a fonctionné.
Je me rends compte que le serveur Web Django n'est pas un serveur de production, mais il est important pour moi à des fins de test de pouvoir y accéder depuis le monde extérieur - c'est-à-dire pas depuis un navigateur Web sur le serveur, mais depuis un ordinateur différent.
J'ai essayé:
http://mywebserver:port_django_runs_on
Mais cela n'a pas fonctionné. J'ai également essayé d'utiliser l'IP à la place (basé sur ifconfig) pour accéder:
http://myipaddress:port_django_runs_on
qui n'a pas fonctionné non plus.
Le serveur Web fonctionne donc il doit être accessible de l'extérieur, je ne sais pas comment. J'utilise Linux avec Apache, bien que je n'ai pas configuré Django avec Apache.
auriez vous des idées pour faire ça?
Réponses:
Vous devez exécuter le serveur de développement de manière à ce qu'il écoute sur l'interface de votre réseau.
Par exemple
écoute sur chaque interface sur le port 8000.
Peu importe que vous accédiez au serveur Web avec l'adresse IP ou le nom d'hôte. Je suppose que vous êtes toujours dans votre propre LAN.
Si vous voulez vraiment accéder au serveur de l'extérieur, vous devez également configurer votre routeur pour transférer le port, par exemple
8000
vers votre serveur.Vérifiez votre pare-feu sur votre serveur si les connexions entrantes au port utilisé sont autorisées!
En supposant que vous puissiez accéder à votre serveur Apache de l'extérieur avec succès, vous pouvez également essayer ceci:
80
soit libre.sudo python manage.py runserver 0.0.0.0:80
la source
sudo python manage.py runserver 80
.ALLOWED_HOSTS = ['*']
travaillé pour moi d'accéder à l'application Django sur un Mac à partir de mon téléphone AndroidJ'ai dû ajouter cette ligne à settings.py afin de le faire fonctionner (sinon, il a montré une erreur lors de l'accès depuis un autre ordinateur)
puis a exécuté le serveur avec:
Assurez-vous également que le pare-feu autorise les connexions à ce port
la source
Choisissez-en un ou plusieurs parmi:
Ainsi, vous pouvez vérifier que votre application écoute correctement en s'exécutant en
lsof -i
tant que root sur la machine et recherchez unepython
entrée avec le port correspondant que vous avez spécifié.Les utilisateurs non root ne peuvent généralement pas se lier aux ports <1024.
Vous devrez
iptables -nvL
vérifier s'il existe une règle qui empêcherait l'accès à l'ip: port auquel vous essayez de lier votre application.S'il existe un pare-feu en amont et que vous n'en savez pas grand-chose, vous devrez en parler à vos administrateurs réseau.
la source
you haven't configured it successfully
?django runserver
écoute réellement là où vous le souhaitez, par exemple en utilisantlsof
.lsof
je vois une entrée python pour mon port. Mais mon lien ie myip: 8000 ne répond pas. Je sais que c'est tard mais toutes les suggestions vous aideront.fais juste ceci:
par la commande ci-dessus, vous le liez réellement à l'adresse IP externe. alors maintenant, lorsque vous accédez à votre adresse IP avec le numéro de port, vous pourrez y accéder dans le navigateur sans aucun problème.
tapez simplement ce qui suit dans la barre d'adresse du navigateur:
par exemple:
vous devrez peut-être modifier les paramètres.py ajouter ce qui suit dans les paramètres.py à la dernière ligne:
j'espère que cela aidera ...
la source
Pour les utilisateurs AWS.
J'ai dû utiliser les étapes suivantes pour y arriver.
1) Assurez-vous que pip et django sont installés au niveau sudo
2) Assurez-vous que les règles liées au groupe de sécurité incluent http sur le port 80 pour 0.0.0.0/0
3) Ajouter une adresse IP publique et un DNS à ALLOWED_HOSTS
4) Lancer le serveur de développement avec sudo sur le port 80
Site maintenant disponible sur l'un des sites suivants (pas besoin de: 80 car c'est par défaut pour http):
la source
Je vais ajouter ceci ici:
sudo python manage.py runserver 80
Accédez à votre téléphone ou à votre ordinateur et entrez l'adresse IP interne de votre ordinateur (par exemple
192.168.0.12
) dans le navigateur.À ce stade, vous devez être connecté au serveur Django.
Cela devrait également fonctionner sans sudo:
la source
Si vous utilisez Docker, vous devez vous assurer que les ports sont également exposés
la source
MISE À JOUR 2020 ESSAYEZ DE CETTE MANIÈRE
la source