2010-03-29 2 views
4

서버 측 파이썬에서 자바 스크립트 클라이언트 코드를 생성하는 좋은 방법이 : (추가 메타 데이터의 최소 금액) 파이썬에 몇 가지 기능을 쓰기자동으로 나는 기본적으로 할 수 있도록하려면

  • 자동으로 RPC에 대한 몇 가지 자바 스크립트 기능/객체 (이는 잊고, 메소드 이름을 잘못 입력처럼 가능한 한 많은 바보 같은 일을에서 저를 방지해야 생성 (노력/보일러 판의 최소) 웹 서비스에이 기능을 켜
  • 메서드의 이름, 잘못된 인수 수를 전달)

파이썬 :

def hello_world(): 
    return "Hello world" 

자바 스크립트 :

... 
<!-- 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> 

연구의 비트는 나에게이 근처에 와서 몇 가지 접근 방식을 보여 주었다 :

    ,
  • 파이썬에서 보일러 플레이트 코드가 작은 함수로 json-rpc 서비스를 자동 생성 한 다음 jquery와 json을 사용하여 호출합니다 (여전히 메서드 이름을 사용하여 실수를 쉽게하기가 어려우며 여전히 호출 할 때 URL을 알고 있어야합니다.

  • soaplib과 같은 라이브러리를 사용하여 파이썬에서 wsdl을 생성합니다 (풍부한 유형 정보를 추가하여). 그리고 어떻게 든 이것을 자바 스크립트로 변환합니다 (이 작업을 수행 할 라이브러리가 있는지 확실하지 않습니다).

그러나 원하는 방식에 근접한 접근 방법이 있습니까?

+1

예, 이전 질문에 대한 답변을 받아 들여야합니다. –

+1

아마도 다른 사람들은 질문에 대답하기가 쉽지 않을 것입니다. :). – user47741

+0

파이썬 코드를 작성하고 원격으로 쉽게 실행하려는 이유는 자바 스크립트가 아닌 파이썬으로 작성하는 것이 아닙니다.그러나 오히려 클라이언트 측의 작업의 결과로 서버에서 작업을 실행하여 서버의 상태를 수정하십시오. Pyjamas는 아마도 javascript가 아닌 python을 쓰고 싶다면 (그리고 위젯 세트에 쉽게 접근하기를 원할 경우) – user47741

답변

6

예,있을 수있는 곳은 Pyjamas입니다. 어떤 사람들은 이것을 "GWT for Python"이라고 부릅니다.

+0

파자마에 대해 들어 보았습니다.하지만 실제로는 javascript 함수를 필요로하지 않고 생성 할 수 있습니다. 당신은 파이썬에서 전체 애플리케이션을 코딩 할 수 있습니다 (또는 오히려 파이썬은 미묘하게 다른 의미론을 가진 언어와 비슷합니다). 가벼운 것을 좀 보았습니다. – user47741

+0

예, 가능합니다. 모든 것을 사용할 필요는 없습니다. 자바 스크립트 컴파일러에 파이썬이 있고 파이썬 함수와 같은 일을하는 자바 스크립트를 출력합니다. 또한 jsonrpc 또는 일반 json URI를 데이터에 적용하려면 서버 측에서 수행해야하지만 그다지 어렵지는 않습니다. –

+0

흠. 아직도 확실히 잠옷은 목적에 맞지 않습니다. 이 작업을 실제로 수행하기 위해서는 많은 수의 고리를 뛰어 넘어야합니다. – user47741

0

XML RPC 클라이언트와 함께 자바 스크립트 XML RPC 클라이언트 (이 경우 jquery 플러그인이 있음)를 사용하는 것이 좋은 방법입니다.

jquery 플러그인은 RPC 서비스를 검사하고 메서드 이름을 채워서 조기 경고없이 메서드 호출 이름을 잘못 입력 할 수 없도록합니다. 그러나 인수의 수 또는 유형을 테스트하지는 않습니다.

json rpc에서 인트로 스펙 션에 대한 지원이 동일하지 않거나 일관성있는 표준으로 보이지 않습니다. 이 방법은 또한 장고와 함께 사용할 수 있습니다.

예제 코드를 작성하고 here을 업로드했습니다. (블로그 게시물에 대한 링크가 끔찍한 형태로 간주되지 않기를 바랍니다. 인터넷에 대한 간략한 검색 결과가 아닙니다.) ...

관련 문제