Sono abbastanza nuovo in Python/Flask e specialmente nei linguaggi di scripting quindi per favore nuda con me.Python Flask chiama le funzioni usando i pulsanti
Una volta premuto il pulsante nel template del flask mi piacerebbe richiamare una funzione python definita in app.py che ho reso disponibile per essere chiamata all'interno del template digitando quanto segue di seguito dove definisco la funzione :
funzione Esempio in app.py:
@app.route('/foo')
def foo(x,y):
pass
app.jinja_env.globals.update(foo=foo)
Template:
<button type="button" onclick="myFunction(this)" name="enable" id="{{counter}}"> Enable </button>
nel mio tasto ho l'attributo onclick solo per testare che il corretto pulsante di molti viene premuto utilizzando JavaScript come ad esempio:
{% block scripts %}
{{ super() }}
<script>
function myFunction(elem){
if(confirm('Are you sure you want to ' + elem.name) == true){
alert("its done.");
}
else {
return false;
}
}
</script>
{% endblock %}
Il problema che sto affrontando è che ho bisogno della funzione che sto mettendo a disposizione all'interno del modello in modo da corrispondere al pulsante corretto. Ad esempio, se il pulsante dice Abilita, allora devo chiamare la funzione di abilitazione definita già o altrimenti se il pulsante corrisponde a falso, mi piacerebbe che fosse usata la funzione di disabilitazione.
Mi sembra di andare nella direzione giusta ma non riesco a superare questa parte. Si prega di essere il più dettagliato possibile.
Grazie per la risposta.Quindi, da quello che mi stai dicendo, ho solo bisogno di usare JavaScript per la mia situazione specifica. Il più grande problema che ho di fronte è cercare di chiamare la funzione Python all'interno del JS. puoi indicarmi la direzione giusta o dare un esempio? – Sean
Non è possibile chiamare una funzione python direttamente da JavaScript poiché in questo caso il tuo JavaScript è in esecuzione su un browser sul client e la tua funzione Python esiste sul server. L'unico modo per rendere possibile la comunicazione è inviare una richiesta HTTP al tuo server. Questo è ciò che la mia risposta sta suggerendo. Se quello che stai cercando di fare è puramente visivo, come disabilitare o nascondere un pulsante, questo può essere ottenuto completamente in JavaScript. È questo che intendi? – junnytony
Vedere la mia modifica per manipolare il pulsante con javascript, se è quello che stai cercando di fare – junnytony