我發送了很多來自本地iPad應用程序的JSON請求到我的Django Web服務器。如何翻譯我在網站上使用的表單以處理iPad網絡服務?如何在接收來自iPad的JSON Ajax請求時使用Django表單?
我是否試圖解決錯誤的問題,應該從本地iPad應用程序使用的Web服務重新設計使用REST-ful請求?
我發送了很多來自本地iPad應用程序的JSON請求到我的Django Web服務器。如何翻譯我在網站上使用的表單以處理iPad網絡服務?如何在接收來自iPad的JSON Ajax請求時使用Django表單?
我是否試圖解決錯誤的問題,應該從本地iPad應用程序使用的Web服務重新設計使用REST-ful請求?
嗯,首先,這個問題確實應該:
「我怎樣寫使用Django和JSON一個RESTful API?」
的iPad就像任何其他Web瀏覽器(客戶端),他們可以使用JavaScript,JSON等
下面是你需要做一個高層次的描述:
一旦您的Javascript代碼發送JSON到API視圖,您的視圖應該處理該JSON並執行任何您想要的操作。
這是大多數網絡服務開發的方式。
希望有幫助!
iPad(或iPhone/iPod)瀏覽器可以發送PUT/DELETE命令嗎?對於我來說,這是嘗試在JavaScript中執行類似REST的應用程序時遇到的最大麻煩。最後,我傾向於做的是具有小的Django視圖(主要使用create_update
通用視圖)來處理HTML /表單/模型集成;在JS中,我使用jQuery的$('#dialog').dialog().load('dialogurl')
來打開一個對話框並使用Django生成的表單加載它。一定要自己管理submit()
。
我更喜歡在瀏覽器上編寫一個REST服務器(可能使用Django-Piston)和一個完整的客戶端應用程序;但到目前爲止,我還沒有找到一個足夠好的JS框架。 (睡衣或qooxdoo的聲音很好,但秋天'有點短')
Django TastyPie解決了這個需求 - 適用於iOS(iPhone/iPad)和Android平板電腦的RESTful和Ajax。
http://django-tastypie.readthedocs.org/en/latest/index.html
http://django-tastypie.readthedocs.org/en/latest/tutorial.html#adding-to-the-api
這使得更多的數據訪問,所以如果我們再次啓動的runserver,以下網址應該工作:
* http://127.0.0.1:8000/api/v1/?format=json
* http://127.0.0.1:8000/api/v1/user/?format=json
* http://127.0.0.1:8000/api/v1/user/1/?format=json
* http://127.0.0.1:8000/api/v1/user/schema/?format=json
* http://127.0.0.1:8000/api/v1/user/set/1;3/?format=json
* http://127.0.0.1:8000/api/v1/entry/?format=json
* http://127.0.0.1:8000/api/v1/entry/1/?format=json
* http://127.0.0.1:8000/api/v1/entry/schema/?format=json
* http://127.0.0.1:8000/api/v1/entry/set/1;3/?format=json
這裏的演示 https://github.com/natea/Valentunes
它有一個網絡客戶端iPhone應用程序(搜索它)。
我沒有在iPad上使用HTML/Javascript,我在編寫本地iPad應用程序。 – MikeN 2010-04-21 14:44:40
@MikeN用「原生iPad應用程序」替換第3點中的「HTML/javascript」。原則是一樣的,API的一點是,它不關心從哪裏或如何請求進來。 – 2010-04-21 15:01:02
@MikeN,Sponsz上校基本上釘牢了我頭上的意思。無論您是否使用HTML/Javascript,您仍然可以從iPad應用程序生成HTTP請求。 我不是iPad開發人員,所以我不知道蘋果API,但我保證你有'curl'之類的東西,可以很容易地向服務器發送HTTP請求。 – rdegges 2010-04-21 15:41:32