POST-запрос от iPhone к Джанго - PullRequest
0 голосов
/ 12 декабря 2011

Я пытаюсь отправить запрос POST с iPhone на Django, но по какой-то причине не могу. Запрос отправлен, но сервер не получает его должным образом.

  1. Какое регулярное выражение принимает POST? В моем случае я использую это: /messages/a/s=person1&r=person2&c=hello/.
  2. Как получить аргументы POST в представлении Django? request.POST['s'] должно работать?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 12 декабря 2011

Параметры POST не являются частью URL, поэтому ваше регулярное выражение должно просто детализировать основную часть URL-адреса, на который вы хотите его получить.Чтобы взять ваш пример, измените его на /messages/a/.Затем в вашем приложении «messages» есть представление / функция с именем a: оно будет достигнуто при получении любого POST (или GET, который вы (почти) отображаете в своем URL) в этом месте.

Тогда аргументы действительно могут быть получены с помощью request.POST['keyname'].Чтобы сделать работу более удобной, укажите значение по умолчанию при получении данных, чтобы вам меньше требовалось проверять ошибки: request.POST.get('keyname', None).При этом будет получено значение keyname, если доступно, или None в противном случае.

Сама публикация ... зависит от того, какой код больше, чем вы сейчас показываете.Ничего не могу сказать об этом с вашим текущим вопросом.

3 голосов
/ 12 декабря 2011

Этот URL-адрес, который вы вставили, пропустит данные через словарь request.GET. Если вы хотите изменить приложение для iPhone на данные POST, вам придется поделиться своим кодом.

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