Как вы используете формы Django при получении запросов JSON Ajax с iPad? - PullRequest
2 голосов
/ 21 апреля 2010

Я отправляю много запросов JSON из нативного приложения для iPad на мой веб-сервер Django. Как перевести формы, которые я использую на своем веб-сайте, для обработки веб-службы iPad?

Пытаюсь ли я решить не ту проблему, должен ли веб-сервис, используемый из собственных приложений iPad, быть переработан для использования запросов REST-ful?

Ответы [ 3 ]

2 голосов
/ 21 апреля 2010

Ну, во-первых, этот вопрос действительно должен быть:

«Как написать RESTful API с использованием Django и JSON?»

iPad, как и любой другой веб-браузер (клиент), может использовать javascript, JSON и т. Д.

Вот высокоуровневое описание того, что вам нужно сделать:

  1. Напишите представление Django и сопоставьте его с URL, например: / api / some_action /
  2. Запишите тело вашего представления, пусть оно выполняет все необходимые действия на сервере.
  3. Напишите код HTML / javascript, который отображается на iPad пользователя, чтобы при посещении пользователями iPad части вашего веб-сайта (скажем, / home /) они отправляли JSON-запрос на ваш сервер, который общается с API (например, отправляет JSON в / api / some_action /)

Как только ваш код Javascript отправляет JSON в представление API, ваше представление должно обработать этот JSON и выполнить любые необходимые действия.

Так разрабатывается большинство веб-сервисов.

Надеюсь, это поможет!

1 голос
/ 21 апреля 2010

Может ли браузер iPad (или iPhone / iPod) отправлять команды PUT / DELETE? Для меня это самая большая проблема при попытке сделать REST-подобные приложения в JavaScript.

В конце концов, я стараюсь иметь небольшие представления Django (в основном использующие общие представления create_update) для обработки интеграции HTML / форма / модель; и в JS я использую jQuery $('#dialog').dialog().load('dialogurl'), чтобы открыть диалог и загрузить его с формой, сгенерированной Django. Обязательно управляйте submit() самостоятельно.

Я бы предпочел просто написать REST-сервер (возможно, с использованием Django-Piston) и полноценное клиентское приложение в браузере; но до сих пор я не нашел достаточно хорошую среду JS. (пижама или qooxdoo звучат великолепно, но выпадают «чуть-чуть короче»)

0 голосов
/ 20 апреля 2012

Django TastyPie решает эту проблему - RESTful и Ajax подходят для планшетов на iOS (iPhone / iPad) и Android.

http://django -tastypie.readthedocs.org / ен / последний / index.html

http://django -tastypie.readthedocs.org / ен / последний / tutorial.html # добавление-к-апи

Это делает доступным еще больше данных, поэтому, если мы снова запустим сервер выполнения, должны работать следующие 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 (поиск по нему).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...