0
votes

Pas capable d'atteindre le serveur Webserver de flacon

Ceci est mon code de test exécuté sur Visual Studio 2017, le nom du fichier est TEST:

from flask import Flask, request      #import main Flask class and request object
from test import app

app = Flask(__name__) #create the Flask app

@app.route('/query-example')
def query_example():
    return 'Todo...'

@app.route('/form-example')
def formexample():
    return 'Todo...'

@app.route('/json-example')
def jsonexample():
    return 'Todo...'

if __name__ == '__main__':
    app.run(debug=True, port=5000) #run app in debug mode on port 5000


8 commentaires

Vérifiez si vous avez un autre service en cours d'exécution sur localhost: 5000? Le moyen facile est d'utiliser un autre numéro de port et de vérifier si cela fonctionne.


Votre code fonctionne bien sur le flacon 1.0.2 . Vous êtes ombrage app importé à partir de test (non lié à votre numéro). Il n'y a pas de racine, donc http://127.0.0.1:5000 retourne en effet 404 .


@Philip Tzou Il n'y a pas d'autre programme en cours d'exécution sur le port 5000.


@LLANCELY Je n'ai pas eu votre réponse. Pouvez-vous s'il vous plaît élaborer plus?


Votre code fonctionne sur la version supérieure. La ligne à partir de l'application d'importation de test est inutile depuis que vous avez ombragée l'application variable (mais elle est peu probable à votre problème). Parce que vous n'avez pas ajouté itinéraire pour racine @ app.route ('/') l'URL de base http://127.0.0.1:5000 retourne 404 < / code> (êtes-vous sûr d'avoir essayé la bonne URL?). Mes conseils mettent à jour votre version de la fiole, commencez la deuxième importation. Puis exécutez et vérifiez l'URL correcte. Ajoutez également une racine, c'est utile.


Avez-vous résolu votre problème? Si oui, voulez-vous partager votre réponse? Merci


@LANCELY n'est pas encore résolu, je n'ai pas eu le temps de le mettre à jour, je l'ai vérifié aujourd'hui en mettant à jour la version du flacon et la version PIP mais que vous obtenez toujours 404. Je vais mettre à jour la capture d'écran et la sortie ci-dessus.


Veuillez éviter la capture d'écran, ils ne sont pas utiles. Copier la pâte à la place.


3 Réponses :


2
votes

Les DOCS suggèrent que vous devriez vérifier que Les fichiers .ENV & .LASKENV ne sont pas interfulant. (Probablement ils ne sont pas.)

Shading

Vous devez vraiment éviter d'ombrager un symbole avec un autre.

Veuillez ne pas nommer votre module Test , comme navires de Python avec une bibliothèque système avec ce nom. Vous pouvez utiliser test1 à la place, pour éviter la possibilité inutile de confusion.

Veuillez renommer votre variable globale à app _ , puisque votre module a un App.py fichier.

URL racine

Veuillez ajouter un itinéraire / SLASH, même si ce n'est pas strictement nécessaire. Vous constaterez que cela facilite le débogage. xxx

version

exécutez un Version actuelle de la fiole, s'il vous plaît. Il est bien préférable de signaler des problèmes avec le code actuel plutôt que de Dowrev.

exécution

plutôt que d'avoir Python appeler directement app_.run (...) , Veuillez exécuter flacon à la place. Utilisez exporter ou env , quelle que soit la préférence: xxx

Ceci active le mode de débogage, ce qui devrait vous aider à accéder au bas de vos problèmes de routage. De plus, le rechargement après que les modifications soient assez pratiques. La clé est que plutôt que d'exécuter python , vous exécutez flacon qui est à son tour exécute python .


0 commentaires

0
votes

Bien que j'étais dépannage, j'ai remarqué que le code ci-dessus fonctionne dans le module de Raspberry Pi Zero avec la même version Python et Flacon. Mais cela ne fonctionne toujours pas dans Visual Studio sous Windows 7. Il pourrait probablement y avoir un problème avec mon studio Visual. Je vais désinstaller le réinstaller à nouveau. Mais oui, mon problème est résolu pour le moment. Merci à tout le monde de répondre.


0 commentaires

0
votes

J'ai eu le même problème à exécuter le code VS sur Ubuntu 19.10. Le problème a été renvoyé String à partir de la fonction View de la route.

@app.route('/')
@app.route('/index')
def index():

    return '<h1>Hello World!</h1>'


0 commentaires