2014-07-08 38 views
0

我正在構建與後端API通信的iPhone應用程序。目前,這個API是用Django編寫的(由我以外的其他人編寫),我們正在考慮從頭開始重寫它。我們唯一真正的要求是API必須完全REST完全版本化。認證/授權方案目前不是優先事項(因爲在OAuth中不需要,我們可以使用基本認證)。Python中的REST API/Django

我來自Ruby/Rails背景,我根本不知道python。

所以我的問題是:

是否有任何的Django庫,將可以很容易地快速建立這樣的API?

我在想像的工具,如grape,rails-api甚至sinatra(也許作爲rails中間件)。

我知道flask,但它可以集成到Django嗎?

+0

Django的tastypie – sumit

回答

1

Django的活塞 https://bitbucket.org/jespern/django-piston/wiki/Documentation

優勢 - 輕鬆搞定安裝和啓動。如果使用默認配置,則效果很好。缺點 - 實現自定義序列化方法很困難。

Django的REST框架http://www.django-rest-framework.org/

優勢 - 簡單的學習曲線

缺點 - 似乎有至少文檔出的三個。

TastyPiehttp://django-tastypie.readthedocs.org/en/latest/

優勢 - 最好的名字了三個選項中。似乎具有實現定製序列化和綁定到非ORM數據源的最多功能。

限制,許可,認證是簡單

缺點 - 我避免TastyPie首次周圍的原因是它似乎爲我的需求太複雜。對於簡單的用例來說,TastyPie可能是過度殺傷性的。

+0

DRF也有節流,權限和驗證。我還沒有嘗試過其他人,但我已經即使當我不得不實施更高級的東西時也沒有問題 – argaen

+0

TastyPie看起來非常有趣,但是看看README,它看起來不支持JSON響應(這是一個問題),並且沒有提及超媒體API /內容-types(我特別感興趣的是[json:api](http://jsonapi.org))。 –

2

TastyPieDjango REST framework是Django的最佳選擇。

就個人而言,我認爲TastyPie特別擅長爲您選擇默認的一套約定,讓您快速啓動和運行,而且Django REST框架在其分層設計中特別出色,因此您可以輕鬆定製API需要它。

兩者都有大量的文檔和大量的社區支持。 (我不知道@ timus2001缺乏文檔評論的依據。)

你絕對不應該使用活塞,因爲它已經很久沒有維護了。(最後版本是2011

參見this similar StackOverflow question,和丹尼爾格林菲爾德的take on this從早在2012年