私も最近、これをしなければならなかった....私はそれがソート得ることができた - しかし、それは少しも不格好です。
個別のCherryPy REST APIを別のプロジェクトで作成しました。エントリポイントは次のようになります
@cherrpy.expose
def web_api_to_call(self, table,value):
#Do SQL Query
return str(sql_table_value)
次に、Djangoで新しいアプリケーションを作成し、次にWidget.pyを作成しました。 Widget.pyの中に私はこう書いた。
import requests
class webquery(NumberWidget):
classparams=[("widget1","web_api_to_call","table","values"),
("widget2","web_api_to_call","table2","values2"),
("widget3","web_api_to_call","table3","values3")]
def myget(self):
for tup in self.classparams:
if tup[0]==type(self).__name__:
url=tup[1]
table=tup[2]
value=tup[3]
url = "http://127.0.0.1:8000/"+url
# Do Web Call Error Checking Omitted
return requests.get(url,params={"table":table,"values":value)}).text()
def get_value(self):
#Override default
return self.my_get()
#Now create new Widgets as per the static definition at the top
class widget1(web query):
id=1
class widget2(web query):
id=1
class widget3(web query):
id=1
あなたは今ちょうどあなたの新しいウィジェットを追加 - あなたは通常、urls.pyにして、颯爽-config.jsの中だろうと、あなたが行っているよう。
これは誰かを支援します。