Essayez ceci si la méthode 0.0.0.0 ne fonctionne pas
Truc ennuyant
J'ai personnellement beaucoup lutté pour que mon application soit accessible à d'autres appareils (ordinateurs portables et téléphones portables) via un serveur local. J'ai essayé la méthode 0.0.0.0, mais pas de chance. Ensuite, j'ai essayé de changer le port, mais cela n'a tout simplement pas fonctionné. Donc, après avoir essayé un tas de combinaisons différentes, je suis arrivé à celui-ci, et cela a résolu mon problème de déploiement de mon application sur un serveur local.
Pas
- Obtenez l'adresse IPv4 locale de votre ordinateur. Cela peut être fait en tapant
ipconfig
sur Windows et ifconfig
sur Linux et Mac.
Remarque: l'étape ci-dessus doit être effectuée sur la machine sur laquelle vous utilisez l'application, et non sur la machine sur laquelle vous y accédez. Notez également que l'adresse IPv4 peut changer si vous vous déconnectez et vous reconnectez au réseau.
Maintenant, exécutez simplement l'application flask avec l'adresse IPv4 acquise.
flask run -h 192.168.X.X
Par exemple, dans mon cas (voir l'image), je l'ai exécuté comme:
flask run -h 192.168.1.100
Sur mon appareil mobile
Trucs en option
Si vous effectuez cette procédure sous Windows et utilisez Power Shell en tant que CLI et que vous ne parvenez toujours pas à accéder au site Web, essayez une commande CTRL + C dans le shell qui exécute l'application. Power Shell se fige parfois et il a besoin d'une pincée pour revivre. Cela pourrait même mettre fin au serveur, mais cela fait parfois l'affaire.
C'est ça. Donnez un coup de pouce si vous avez trouvé cela utile.
Quelques trucs plus optionnels
J'ai créé un court script Powershell qui vous obtiendra votre adresse IP chaque fois que vous en aurez besoin:
$env:getIp = ipconfig
if ($env:getIp -match '(IPv4[\sa-zA-Z.]+:\s[0-9.]+)') {
if ($matches[1] -match '([^a-z\s][\d]+[.\d]+)'){
$ipv4 = $matches[1]
}
}
echo $ipv4
Enregistrez-le dans un fichier avec l'extension .ps1 (pour PowerShell) et exécutez-le avant de démarrer votre application. Vous pouvez l'enregistrer dans votre dossier de projet et l'exécuter en tant que:
.\getIP.ps1; flask run -h $ipv4
Remarque: j'ai enregistré le code shell ci-dessus dans getIP.ps1.
Cool.👌