Использование RESTful API с Django

Я создаю приложение Django, которое должно взаимодействовать со сторонним RESTful API, создавая различные GET, PUT и т. Д. Для этого ресурса. То, что я ищу, - это хороший способ представить этот API в Django.

Наиболее очевидным, но, возможно, менее изящным решением, по-видимому, является создание модели, в которой различные методы сопоставляются с запросами веб-сервиса. С другой стороны, кажется, что использование чего-то вроде пользовательского бэкэнда БД обеспечило бы большую гибкость и было бы лучше интегрировано в ORM Django.

Caveat: This is the first real project I've done with Django, so it's possible I'm missing something obvious here.

Ответы на вопрос(2)

используя встроенный urllib (немного неуклюжий, но функциональный), и оберните интерфейс в класс с методом для каждого удаленного вызова. Ваш класс может затем переводить и из нативных типов Python. Это то, что я все равно буду делать!

requests библиотека облегчает написание потребителя REST API. Существует также библиотека Python под названиемslumber, который построен на вершинеrequests, для явной цели использования API REST. Насколько хорошо это будет работать для вас, вероятно, зависит от того, насколько действительно RESTful API.

 devights15 мая 2012 г., 00:37
Хм, похоже, запросы не поддерживают использование аутентификации на основе сертификата. Похоже, мне придется самому что-то написать, используя httplib.
 27 мая 2015 г., 17:04
Да, запросы не имеют встроенной поддержки неблокирующих операций ввода-вывода. Тем не менее, есть уровни совместимости дляgevent а такжеconcurrent.futures docs.python-requests.org/en/latest/user/advanced/…
 14 мая 2012 г., 22:57
slumber очень легко, это не дает много для уровня абстракции. Но в некоторых случаях может быть достаточно.
 27 мая 2015 г., 16:19
не блокирует ли это весь процесс?
 28 февр. 2015 г., 12:36
Похоже, запросы теперь поддерживают проверку подлинности на основе сертификата? Параметр cert может быть парой String для файла сертификата клиента ssl (.pem) или парой Tuple (& # x2018; cert & # x2019 ;, & # x2018; ключ & # x2019;) - доступной по запросам и сеансам.

Ваш ответ на вопрос