【发布时间】:2012-04-20 08:48:44
【问题描述】:
我正在从一个原生 iPad 应用程序向我的 Django Web 服务器发送大量 JSON 请求。如何翻译我在网站上使用的表格以处理 iPad 网络服务?
我是否试图解决错误的问题,是否应该重新设计从原生 iPad 应用程序使用的 Web 服务以使用 REST-ful 请求?
【问题讨论】:
标签: django web-services ipad
我正在从一个原生 iPad 应用程序向我的 Django Web 服务器发送大量 JSON 请求。如何翻译我在网站上使用的表格以处理 iPad 网络服务?
我是否试图解决错误的问题,是否应该重新设计从原生 iPad 应用程序使用的 Web 服务以使用 REST-ful 请求?
【问题讨论】:
标签: django web-services ipad
嗯,首先,这个问题真的应该是:
“如何使用 Django 和 JSON 编写 RESTful API?”
iPad 就像任何其他网络浏览器(客户端)一样,它们可以使用 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
这使得可以访问更多数据,所以如果我们再次启动运行服务器,以下 URL 应该可以工作:
* 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 应用程序(搜索它)。
【讨论】: