Je ne suis pas sûr que ce soit spécifique à Flask, mais lorsque je lance une application en mode dev ( http://localhost:5000
), je ne peux pas y accéder depuis d'autres machines sur le réseau (avec http://[dev-host-ip]:5000
). Avec Rails en mode dev, par exemple, cela fonctionne bien. Je n'ai pas trouvé de documentation concernant la configuration du serveur de développement Flask. Une idée de ce qui devrait être configuré pour activer ceci ?
Réponses
Trop de publicités?Vérifiez si le port particulier est ouvert sur le serveur pour servir le client ou non ?
dans Ubuntu ou une distro Linux
sudo ufw enable
sudo ufw allow 5000/tcp //allow the server to handle the request on port 5000
Configurer l'application pour traiter les demandes à distance
app.run(host='0.0.0.0' , port=5000)
python3 app.py & #run application in background
Si vous avez des difficultés à accéder à votre serveur Flask, déployé à l'aide de PyCharm tenez compte des éléments suivants :
PyCharm n'exécute pas directement votre fichier .py principal, donc tout code dans le fichier if __name__ == '__main__':
ne sera pas exécuté, et tout changement (comme app.run(host='0.0.0.0', port=5000)
) n'aura pas d'effet.
Au lieu de cela, vous devez configurer le serveur Flask en utilisant Run Configurations, en particulier, en plaçant --host 0.0.0.0 --port 5000
sur Options supplémentaires champ.
En savoir plus configuration du serveur Flask dans PyCharm
Vous pouvez également définir l'hôte (pour l'exposer sur une adresse IP orientée réseau) et le port via des variables d'environnement.
$ export FLASK_APP=app.py
$ export FLASK_ENV=development
$ export FLASK_RUN_PORT=8000
$ export FLASK_RUN_HOST=0.0.0.0
$ flask run
* Serving Flask app "app.py" (lazy loading)
* Environment: development
* Debug mode: on
* Running on https://0.0.0.0:8000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 329-665-000
Allez dans le chemin de votre projet sur CMD(command Prompt) et exécutez la commande suivante:-.
set FLASK_APP=ABC.py
SET FLASK_ENV=développement
flask run -h [votreIP] -p 8080
vous obtiendrez l'o/p suivant sur CMD:-
- Servir l'application Flask "expirement.py" (chargement paresseux)
- Environnement : développement
- Mode débogage : on
- Redémarrage avec stat
- Le débogueur est actif !
- PIN du débogueur : 199-519-700
- En cours d'exécution http:// [votreIP]:8080/ (Appuyez sur CTRL+C pour quitter)
Maintenant vous pouvez accéder à votre application flask sur une autre machine en utilisant http://[votreIP]:8080/ url