C'è un buon modo di generare automaticamente il codice cliente javascript in pitone lato server

StackOverflow https://stackoverflow.com/questions/2541954

  •  23-09-2019
  •  | 
  •  

Domanda

Io fondamentalmente voglio essere in grado di:

  • Scrivi alcune funzioni in pitone (con la quantità minima di dati in più meta)
  • Trasforma queste funzioni in un servizio web (con il minimo sforzo piastra / caldaia)
  • Generazione automatica di alcune funzioni javascript / oggetti per RPC (questo mi dovrebbe impedire di fare il maggior numero di cose stupide come possibili errori di digitazione, come i nomi dei metodi, dimenticando i nomi dei metodi, passando il numero errato di argomenti)

Esempio

python:

def hello_world():
    return "Hello world"

javascript:

...
<!-- This file is automatically generated (either dynamically or statically) -->
<script src="http://myurl.com/webservice/client_side_javascript"> </script> 
...
<script>
$('#button').click(function () {
     hello_world(function (data){ $('#label').text(data)))
}
</script>

Un po 'di ricerca mi ha mostrato alcuni approcci che si avvicinano a questo:

  • Generazione automatica di servizi JSON-RPC dalle funzioni con un codice di piccola piastra caldaia in pitone e quindi utilizzando jQuery e JSON per fare le chiamate (ancora facile fare errori con i nomi dei metodi - ancora bisogno di essere a conoscenza di URL quando si chiama, molto irritante di scrivere queste chiamate voi stessi nella shell firebug)

  • Utilizzo di una libreria come soaplib per generare WSDL in pitone (con l'aggiunta di informazioni di tipo abbondante). E poi in qualche modo convertire questo in javascript (non so se c'è anche una biblioteca per fare questo)

Ma ci sono approcci più vicino a quello che voglio?

Nessuna soluzione corretta

Altri suggerimenti

Sì, c'è, c'è Pigiama . Alcune persone fatturano questo come il " GWT per Python"

Si presenta come utilizzando un client RPC XML javascript (c'è plugin per jQuery per questo) insieme ad un server RPC XML è un buon modo per andare.

Il plugin jQuery introspezione vostro servizio RPC e popolerà i nomi dei metodi rendono impossibile mis digitare il nome di una chiamata di metodo senza ottenere preallarme. Non sarà comunque testare il numero di argomenti che si passa, o il loro tipo.

Non sembra essere lo stesso supporto per l'introspezione su JSON RPC (o meglio, non sembra essere uno standard costante). Questo approccio può essere utilizzato anche con Django.

ho messo insieme un po 'di codice di esempio e lo ha caricato qui (spero che collega ai propri post del blog non è considerato forma terribile - una breve ricerca su Internet non sembra suggerire che fosse) ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top