Domanda Startare script python tramite bottone html

Dovrei startare questo script python tramite un sito, non so come spiegarti meglio xD
Una volta che vado su miosito.it/inserisci.php o inserisci.html o inserisci.js vorrei che ci fosse un pulsante submit e lo script parta
 
Capisco. Puoi usare un framework python per gestire le richieste http come Django o Flask e scrivere il tuo script lì. Poi con una semplice call quando premi il pulsante nel sito web, manda la richiesta al tuo server python che la esegue


400px-Mtv-diagram.png
 
  • Mi piace
Reazioni: CokePhi e 0xbro
Stavo giusto cercando:

Dovrei dare una cosa del genere?

function execute(command) {

const exec = require('child_process').exec


exec(command, (err, stdout, stderr) => {

process.stdout.write(stdout)

})

}


execute('mio_script.py')
 
Stavo giusto cercando:


Ma questo è per Node.JS... la vedo dura vada con Javascript vanilla su un browser :\

Per fare ciò da sito web, come diceva @zipippino, devi richiamare una pagina python presente sul webserver (tramite AJAX) che esegua lo script sulla macchina server.
Se vuoi farlo lato client la vedo dura...
 
  • Mi piace
Reazioni: zipippino
Se lo script python non contiene chissà cosa possiamo aiutarti a convertirlo magari in Javascript.
Sono tutte operazioni di select, insert e update
Ho un file csv da aprire dove ogni riga è un dizionario che contiene dei dati di un giocatore.
Una volta fatta questa lista di dizionari cerco nel db se questo giocatore non c'è e lo inserisco
 
Se è come dici tu allora è tutto convertibile in Javascript.
Sono tutte operazioni di select, insert e update
Ho un file csv da aprire dove ogni riga è un dizionario che contiene dei dati di un giocatore.
Una volta fatta questa lista di dizionari cerco nel db se questo giocatore non c'è e lo inserisco
Allora, vediamo di fare chiarezza.
Se le operazioni che devi compiere sono server-side (come query DB, lettura file server, ecc) non puoi passare da Javascript, in quanto è un linguaggio client-side (ad eccezzione fatta per Node.JS ma è un'altra cosa che non sto a spiegare nel dettaglio) e ciò vuol dire che viene interpretato ed eseguito da un client (in questo caso il browser) sulla macchina dell'utente, quindi non ha accesso a risorse sulla macchina server. Sei costretto ad utilizzare un linguaggio server-side che venga interpellato tramite chiamate HTTP eseguite dal client verso il server, in questo caso chiamato webserver.

Quello che ti consiglio io è di tirare su un backend con Django in python (visto che hai familiarità con il linguaggio) e gestire le poche chiamate server-side che devi fare tramite quello. Puoi usare questa guida fornita MDN per iniziare a comprendere come funziona Django e riuscire ad implementare le tue necessità.
In seguito, grazie a Javascript, potrai effettuare chiamate AJAX verso il tuo backend per compiere operazioni o recuperare dati. Qui trovi info utili sul protocollo di comunicazione HTTP.

Se nel corso dell'opera hai problemi o dubbi non esitare a scrivere qui per chiarimenti, sarò felice di aiutarti :)

P.S.: @FreeWar evitiamo di dare disinformazione, grazie
 
  • Mi piace
Reazioni: zipippino e Δnto
Allora, vediamo di fare chiarezza.
Se le operazioni che devi compiere sono server-side (come query DB, lettura file server, ecc) non puoi passare da Javascript, in quanto è un linguaggio client-side (ad eccezzione fatta per Node.JS ma è un'altra cosa che non sto a spiegare nel dettaglio) e ciò vuol dire che viene interpretato ed eseguito da un client (in questo caso il browser) sulla macchina dell'utente, quindi non ha accesso a risorse sulla macchina server. Sei costretto ad utilizzare un linguaggio server-side che venga interpellato tramite chiamate HTTP eseguite dal client verso il server, in questo caso chiamato webserver.

Quello che ti consiglio io è di tirare su un backend con Django in python (visto che hai familiarità con il linguaggio) e gestire le poche chiamate server-side che devi fare tramite quello. Puoi usare questa guida fornita MDN per iniziare a comprendere come funziona Django e riuscire ad implementare le tue necessità.
In seguito, grazie a Javascript, potrai effettuare chiamate AJAX verso il tuo backend per compiere operazioni o recuperare dati. Qui trovi info utili sul protocollo di comunicazione HTTP.

Se nel corso dell'opera hai problemi o dubbi non esitare a scrivere qui per chiarimenti, sarò felice di aiutarti :)

P.S.: @FreeWar evitiamo di dare disinformazione, grazie
Ma quindi mi basta prendere il mio codice e metterlo in views.py ?
A me serve solo far partire questo script(Già fatto) tramite un bottone
 
Django, come scritto prima di me usa l'architettura MVC - che io sappia non puoi semplicemente inserire il tuo codice in views.py, specialmente se devi performare operazioni lato server-db. Bisogna creare un Model e poi puoi usare views per interagirci. Ti consiglio di andare sulla documentazione ufficiale e seguire le guide su come creare un progetto. Molto semplice soprattutto se si hanno le basi di python.
 
  • Mi piace
Reazioni: zipippino