我正在嘗試創建一個訪問MySQL數據庫中的數據的Django網站。該介紹還將在Dojo中創建一個UI(javascript)。另外我希望django後端也提供webservices(用於python函數的RPC)以允許遠程訪問MySQL數據庫。例如,如果有人想使用Perl腳本來訪問數據庫(以及可能的其他附加功能,如基於數據庫中數據的計算),則可以使用它們的本地語言(Perl)來執行此操作。在Django項目中對Python函數進行RPC調用的優雅方式
現在理想情況下,Web服務API是Javascript以及想要訪問這些服務,另一個遠程服務是相同的。我發現JSON-RPC是一個很好的方法,因爲除了許多其他的好處之外,它通常還內置了對javascript的支持。也有很多人似乎更喜歡使用SOAP來處理JSON。
我已經看到了幾種方法來做到這一點:
1)每次你想訪問函數創建一個獨特的URI: https://code.djangoproject.com/wiki/JSONRPCServerMiddleware
2)創建一個訪問點,並通過JSON包中的方法名稱。在這個特定的例子中,SMD是自動生成的。 https://code.djangoproject.com/wiki/Jsonrpc
與(1)的問題是,如果有很多要訪問的函數,那麼將會使用許多URI。這似乎不是一個優雅的解決方案。 (2)的問題是我需要將函數與所有函數列表進行比較。這也不是一個優雅的解決方案。
有沒有辦法,我們可以採取的優點(1)和(2)來創建一個接口,使得: - 只有一個URI被用作訪問 點 - 功能被直接稱爲(不具有與功能列表進行比較)
任何與此有關的幫助將非常感激。謝謝!
我很好奇,你怎麼想這應該工作,當你不希望使用的URL映射到你的職責,你不希望處理請求的時候做的映射。你如何看待服務器會發現你想調用哪個函數? – Epcylon