J'ai un script python appelé comme une étape initiale i préparé un code très simple ci-dessous à l'aide de la fiole pour voir si mon script fonctionne ou non. p> Je m'attendais à rendre la sortie (certaines données brutes) sur la page Web, mais il semble que cela ne fonctionne pas pour moi, peut-être Je n'ai pas de bon départ pour cela. P> En bref, la chose dont j'ai besoin est d'entrer à mon adresse de serveur et de voir la sortie de mon script. P> oui si chaque chose va bien, je vais le développer pour obtenir des données d'entrée aussi. p> test.py code> avec beaucoup de fonctions et de boucles qui génèrent des données brutes et j'essaie de l'exécuter à partir d'une page Web.
3 Réponses :
Qu'est-ce que On dirait que vous essayez d'appeler votre module lorsque l'utilisateur visite l'itinéraire, vous devez appeler une fonction. P> Si vous souhaitez exécuter une fonction spécifique lorsque l'utilisateur visite votre itinéraire de la fiole, Vous pouvez le faire comme ceci: p> test code> exactement?
Cela suppose que le test est un module et non un script autonome. Dans la description de la question, le test est un script console qui génère simplement certaines données.
@ Rashid'lee'ibraim tu as raison, mon mal!
Oui, Test est un script comprenant plusieurs fonctions.
Berk, les itinéraires de la fiole nécessitent un certain type de réponses (chaînes, tuples, instance de réponse, etc.) Vous pouvez en lire à leur sujet ici . Je suppose que votre fonction de test ne renvoie aucun de ces types requis.
Ce que vous pouvez faire est JSON-Serialize du résultat de la fonction code> de test code> et de retourner comme une réponse à la fiole, et si ce n'est pas possible (en raison du type de valeur test code > Retours), puis l'imprimez simplement à la console. De cette façon, vous êtes toujours sûr que votre appel de fonction a fonctionné. Regardez le code ci-dessous:
from flask import Flask, redirect, url_for, request
import test
# Also import json
import json
app = Flask(__name__)
@app.route('/')
def dynamic_page():
resp = test()
try:
resp = json.dumps(resp)
except:
print(resp)
return "Function executed. Check your terminal"
else:
return resp
if __name__ == '__main__':
app.run(debug=True)
Il ne peut toujours pas exécuter le script (test).
Si ce n'est pas alors que voyez-vous lorsque vous visitez le point de terminaison / code>? Avez-vous une erreur? Si oui, quelle est l'erreur?
De ce que je comprends, vous voulez appeler Python de votre navigateur.
Si c'est le cas, vous pouvez simplement envoyer un AJAX Ajoutez la fonction d'itinéraire suivante: p> lorsque vous exécutez le JavaScript dans votre navigateur Ajax Envoie un dans votre terminal, il enverra alors: P> obtenir une demande code> à votre route et que cette fonction fonctionnera. p>
Code> Demande à la route de la fiole qui sortira: P>
All finished here!
Laissez-nous Continuer cette discussion en chat .
Importer JSON en haut et retourner JSON.Dumps (test ()) dans la fonction dynamic_page et voir si cela aide