Django RESTful API - Джанго-поршень против Джанго-лакомства - PullRequest
32 голосов
/ 08 декабря 2011

Мы ищем общее решение RESTful API для нашего проекта Django. Сначала мы будем использовать API для вызовов Ajax на веб-сайте, а затем для мобильных приложений, внешних приложений и тому подобного.

Я нашел два модуля, которые, кажется, широко используются. Джанго-поршень и Джанго-вкусный пирог

Из того, что я прочитал, поршень кажется старше и, следовательно, более зрелым, но, возможно, немного устаревшим ?! Хотя вкусный пирог относительно нов и хорошо документирован.

С чем лучше всего пойти? Джанго-поршень или Джанго-вкусный пирог ? Для нас важно (упорядочено по приоритетам): постоянное сопровождение исходного кода, документация, стабильность, простота использования.

РЕДАКТИРОВАТЬ (16 июля 2013 г.):

Теперь, спустя год, у нас явный победитель. Сначала мы пошли с вкусным пирогом. Который нам нравился. Но через полгода или около того мы переключились на готовящуюся тогда django-rest-framework и никогда не оглядывались назад.

Что нам больше всего нравится в этом:

  • Хорошая документация

  • Активное сообщество

  • Чистый дизайн (основанный на классовых представлениях Джанго)

  • Браузерный API для разработки и отладки

Мы сильно полагаемся на API, поэтому поддержка (в будущем) является одной из наших главных задач. Мы встретили сопровождающего - Тома Кристи - (как в сети, так и в автономном режиме), и он, похоже, очень предан проекту. Поэтому мы чувствуем себя очень комфортно, используя django-rest-framework.

Ответы [ 4 ]

29 голосов
/ 09 декабря 2011

Хороший ресурс для сравнения: http://www.djangopackages.com/grids/g/api/

Django-tastypie, безусловно, сейчас является безопасным выбором.

Лично я бы рекомендовал взглянуть на django-rest-framework , если вы используете django 1.3, потому что он использует новые представления на основе классов. Страница сравнения djangopackages.com показывает хорошее участие и активность. И, вау, у него наверняка есть приятный для просмотра интерфейс к API.

24 голосов
/ 08 декабря 2011

У меня нет опыта в этом, но я верю Пиданни в этом:

Джанго-поршень едва поддерживается почти два года.Это вечность, и количество вилок для решения множества проблем вызывает тревогу.Из-за этого в это время я рекомендую django-tastypie.Он современный, имеет очень хорошую документацию, поддерживает OAUTH и занял второе место в грозе Django Packages (набрал почти в 3 раза больше очков!).Другим инструментом, который стоит рассмотреть, является Django Rest Framework, который так же хорош, как и django-tastypie, но не имеет поддержки OAUTH.

На фронте с django-поршнем Джошуа Гинсберг взял в свои руки бразды правления, и мы надеемся, что мы увидим некоторое движениеснова.В этом случае я смогу удалить этот раздел поста в блоге.

из blog .

Пиданни.
18 голосов
/ 09 декабря 2011

Реализовав API-интерфейсы с Django Piston, вкусным пирогом и Django Webmachine Django Delicious Pie!Сказав это, я думаю, что хотя вкусный пирог действительно хорош, когда ваш API моделируется близко к вашим моделям, немного сложнее сделать что-то, когда вы захотите выйти из коробки.Для некоторых проблем есть обходные пути, с другими вам нужно больше сгибать, чем строить.Он, вероятно, все еще будет охватывать 90% случаев использования django.

Afaik Webmachine был смоделирован по аналогии с популярным erlang webmachine, но в последнее время не очень активен.Так что остается поршень, который набирает некоторую активность, и вкусный пирог, который имеет большой импульс и активность.Поршень немного более гибкий, но вкусный пирог движется очень быстро и, на мой взгляд, имеет очень простой API.

Я бы порекомендовал быстро внедрить прототип API в tastypie и посмотреть, охватывает ли он то, что вы хотите сделать.

5 голосов
/ 15 июля 2013

Среда Django REST 2.0 была анонсирована в октябре 2012 года и теперь поддерживает OAuth из коробки. Что мне действительно нравится, так это API для просмотра веб-страниц , который действительно полезен при разработке вашего API, а также когда кто-то реализует ваш API. Это похоже на использование сайта администратора Django для проверки структуры и данных ваших моделей, а затем для вашего API. Также документация очень хорошая.

С их сайта:

Django REST framework - это мощный и гибкий инструментарий, который делает его легко создавать веб-API.

Некоторые причины, по которым вы можете использовать каркас REST:

  • API для просмотра веб-страниц - это огромный выигрыш в удобстве использования для ваших разработчиков.
  • Политики аутентификации, включая OAuth1a и OAuth2, из коробки.
  • Сериализация, которая поддерживает источники данных ORM и не-ORM.
  • Настраиваемая настройка - используйте обычные функциональные представления, если вам не нужны более мощные функции.
  • Обширная документация и отличная поддержка сообщества.

Ознакомьтесь с руководством по Quickstart , чтобы быстро понять, как оно работает.

...