-2
votes

Fonction Python en cours d'exécution de HTML / Flacon

J'ai frappé ma tête contre le mur pour comprendre celui-ci. J'écris une application qui, idéalement, lorsqu'un onclick arrive dans HTML exécute un script Python à partir de la fiole. Le problème n'est rien que je semble travailler. Je n'ai plus d'erreur, mais le programme ne fonctionne pas.

J'ai essayé d'accéder au script Python via Ajax, j'ai essayé d'appeler le script Python via Jscript dans le fichier HTML, j'ai créé un fichier séparé pour le script Python. au lieu de le courir à travers le ballon .... xxx

voici mon fiole / python document xxx

Ce que je veux Pour faire, c'est que le code Python est exécuté lorsque je clique sur mon bouton HTML générant un nouveau fichier sur l'ordinateur de l'utilisateur. Jusqu'à présent, j'ai atteint le point où quand je clique sur le bouton, rien ne se passe.


1 commentaires

Avez-vous regardé dans les outils de développement de votre navigateur? Vous pouvez les ouvrir en appuyant sur F12. Allez à la onglet 'Console'. Y at-il des messages d'erreur?


3 Réponses :


0
votes

Ce que vous essayez réellement de réaliser ici est de créer un projet client / serveur. Votre HTML est votre client ou votre frontend, et Python est votre serveur ou votre backend. La façon de faire en sorte que les deux communiquer soient à travers une API. Ensuite, vous devez démarrer votre application de flacon à l'avance et ne pas appeler le script de la face avant, mais envoyez plutôt des demandes au point final droit. En supposant que vous exécutez du ballon sur votre ordinateur local sur le port par défaut, essayez sur le côté de l'extrémité avant, remplacement URL: 'static / gut.py' avec la valeur suivante: URL: 'http: // localhost: 5000 / bouton'

Ceci devrait déclencher la fonction associée chaque fois que vous cliquez sur votre bouton.


4 commentaires

$ (fonction () {$ (bouton '). Cliquez sur (Fonction () {$ .ajax ({URL:' localhost : 5000 / BOUTON ', DATA: $ («Formulaire»). Serialize (), Type:' Post ', Succès: fonction (réponse) {console.log (réponse);}, erreur: fonction (erreur ) {console.log (erreur);}});});});


Avez-vous lancé votre serveur de flacon à partir d'un terminal avant d'ouvrir la page HTML? Si oui, quelle est la sortie sur le terminal?


Voici la sortie complète lorsque je charge la page et cliquez sur le bouton


* Serving Flask App "App" (Chargement paresseux) * Environnement: Production Avertissement: N'utilisez pas le serveur de développement dans un environnement de production. Utilisez plutôt un serveur WSGI de production. * Mode de débogage: On * en cours d'exécution sur 127.0.0.1:5000 (Appuyez sur Ctrl + C pour quitter) * Redémarrage Avec Stat * Le débogueur est actif! * Pin de débogueur: 284-389-406 127.0.0.1 - - [10 / août / 2019 12:46:18] "Obtenez / livres http / 1.1" 200 -



0
votes

Pour la fonctionnalité que vous souhaitez rejoindre, vous auriez besoin d'un deuxième serveur supplémentaire sur votre application de flacon. Parce que la requête post doit être gérée par une application Web déjà en cours d'exécution, il est impossible d'atteindre votre objectif sans avoir un deuxième service qui reçoit cette requête POST et exécute votre ballon. app comme un processus enfant.


2 commentaires

Comment allais-je faire ça?


Il peut s'agir d'une application de fiole qui à l'intérieur d'un itinéraire, utilise le module sous-processus pour apparaître le processus de la deuxième application de la fiole (voir Stackoverflow.com/questions/24787106/... ). Dans tous les cas, cet étui d'utilisation sonne un peu en arrière pour que j'explore d'autres approches. Je ne pouvais pas lui suggérer parce que je ne sais pas quel est l'objectif final ici.



0
votes

mise à jour: j'ai réellement réussi à le comprendre sans utiliser jQuery ou PHP.

</script>
<a href="/roulette"><input type="button" name="button" class="button" style="background: url(/static/images/stack.jpg)"></input></a>
</body>
</html>


0 commentaires