564 votes

Configurer le serveur de développement Flask pour qu'il soit visible sur le réseau

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 ?

18voto

IMRA Points 385

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

13voto

Viacheslav Z Points 650

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.

Run cofigurations of Flask server PyCharm

En savoir plus configuration du serveur Flask dans PyCharm

11voto

Everett Toews Points 2075

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

Voir Comment obtenir toutes les options de commande disponibles pour définir les variables d'environnement ?

7voto

Arsalan Fakhar Points 91

Pour moi, j'ai suivi la réponse ci-dessus en la modifiant un peu :

  1. Récupérez simplement votre adresse IPv4 en utilisant ipconfig à l'invite de commande.
  2. Aller au fichier dans lequel le code flask est présent
  3. Dans la fonction principale écrivez app.run(host= 'votre adresse ipv4')

Eg :

enter image description here

6voto

Ibz.Shaikh Points 315

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

Prograide.com

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.

Powered by:

X