Gibt es eine gute Möglichkeit des automatischen Generierung von Javascript-Client-Code von Server-Seite Python

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

  •  23-09-2019
  •  | 
  •  

Frage

Ich mag grundsätzlich in der Lage sein:

  • Schreiben Sie ein paar Funktionen in Python (mit der minimalen Menge von zusätzlichen Metadaten)
  • Schalten Sie diese Funktionen in einem Web-Service (mit einem Minimum an Aufwand / Kesselblech)
  • Erstellen Sie automatisch einige Javascript-Funktionen / Objekte für rpc (dies mir zu tun, so viele dumme Dinge wie möglich wie Vertippen Methodennamen verhindern sollte, die Namen von Methoden zu vergessen, die falsche Anzahl von Argumenten vorbei)

Beispiel:

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>

Ein wenig Forschung hat mir einige Ansätze gezeigt, die nahe an diese kommen:

  • Automatische Generierung von JSON-RPC Dienste von Funktionen mit einem kleinen Kessel Platte Code in Python und dann jquery und json mit den Anrufen zu tun (immer noch leicht Fehler mit Methodennamen zu machen - müssen noch bewusst Urls sein wenn Sie anrufen, sehr irritierend diese Anrufe selbst in der Firebug-Shell)

  • schreiben
  • eine Bibliothek wie soaplib Mit Wsdl von Python zu generieren (durch reichliche Typinformationen hinzufügen). Und dann konvertiert irgendwie diese in Javascript (nicht sicher, ob es auch eine Bibliothek ist, dies zu tun)

aber gibt es nähert sich näher an, was ich will?

Keine korrekte Lösung

Andere Tipps

Ja, es ist, gibt es Pyjamas . Einige Leute in Rechnung stellen dies als die " GWT für Python"

Es sieht aus wie ein Javascript XML-RPC-Client (es ist jQuery-Plugin für diese) zusammen mit einem XML-RPC-Server ist ein guter Weg zu gehen.

Die jQuery-Plugin Ihres RPC-Dienst introspect und wird bevölkert es Methodennamen unmöglich mis den Namen eines Methodenaufruf eingeben, ohne Vorwarnung zu bekommen. Es wird jedoch nicht testen Sie die Anzahl der Argumente, die Sie weitergeben oder ihre Art.

Es scheint nicht die gleiche Unterstützung für Selbstbeobachtung auf JSON-RPC zu sein (oder besser gesagt scheint es keine einheitlicher Standard zu sein). Dieser Ansatz kann auch mit django verwendet werden.

Ich habe zusammen einige Beispiel-Code setzen und hochgeladen es hier (ich hoffe, dass die Verknüpfung zu wird Blog-Beiträge sind einen nicht schreckliche Form betrachtet - eine kurze Suche im Internet scheint sich nicht zu deuten darauf hin, es war) ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top