Flacon Bouton exécuter Python sans rafraichissement de la page?
je suis juste de commencer, en python et en flacon (pour le raspberry pi). Je veux une application web qui permettrait d'exécuter du code python pour le panoramique et l'inclinaison de la caméra et afficher un flux vidéo.
Mon code uptil maintenant pour flacon est:
from flask import Flask, render_template
import time
import serial
#ser = serial.Serial('/dev/ttyUSB0',9600)
app = Flask(__name__)
@app.route('/')
@app.route('/<cmd>') #each button in my html redirects to a specified directory
def execute(cmd=None):
if cmd == "down":
print "Moving Down"
#ser.write("D")
if cmd == "up":
print "Moving Up"
#ser.write("U")
if cmd == "left":
print "Moving Left"
# ser.write("L")
if cmd == "right":
print "Moving Right"
#ser.write("R")
if cmd == "reset":
print "Reseting.."
#ser.write("X")
return render_template("main.html")
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080, debug=True)
Le problème est que mon code relys sur chaque bouton de redirection vers une nouvelle directry, bien que cela fonctionne bien, il actualise la page à chaque fois ce qui signifie que ma embeded vidéo de recharge et de tampons à nouveau. Est-il un meilleur moyen de détection de pression d'un bouton et d'exécuter du code python à l'aide de flacon?
Pour cela, vous aurez besoin d'utiliser les appels AJAX à partir de JavaScript s'exécutant sur la page.
OriginalL'auteur Adil Malik | 2014-02-05
Vous devez vous connecter pour publier un commentaire.
Je serait divisé en deux voies pour le rendre plus facile pour voir ce que vous avez à faire:
Puis dans votre modèle, vous avez juste besoin d'utiliser un peu de JavaScript pour envoyer la requête:
ce que les erreurs s'affichent dans votre navigateur de la console de débogage lors du chargement de la page? (Je suis en supposant que que est ce que c'est de casser, plutôt que le code du back-end).
J'ai essayé cela mais maintenant quand je clique sur "Soumettre", au lieu d'aller vers une nouvelle page, je reçois un
Client disconnected
.OriginalL'auteur Sean Vieira
J'ai eu le même problème, et la réponse est simple, à l'aide d'ajax XmlHttpRequest:
Voici un petit exemple, l'appel de courant du script avec les paramètres "like", intégrés dans une fonction:
OriginalL'auteur Alexandre Mazel
Vous pouvez simplement le faire avec l'aide d'AJAX... Voici un exemple qui appelle une fonction python qui affiche " hello sans rediriger ou de rafraîchir la page.
Dans app.py mettre en dessous de segment de code.
Et votre json.html la page devrait ressembler à ci-dessous.
Ici lorsque vous appuyez sur le bouton de Test simple dans la console, vous pouvez voir "Bonjour" est l'affichage sans rafraîchissant.
OriginalL'auteur Gihan Gamage