As the author of django-rest-framework, I’ve got an obvious bias 😉 but my hopefully-fairly-objective opinion on this is something like:
- As Torsten noted, you’re not going to go far wrong with something written by the same peeps as the awesome django-haystack. From what I’ve seen on their mailing list Daniel Lindsey et al are super-helpful, and Tastypie is stable, comprehensive and well documented
- Excels in giving you a sensible set of default behaviour and making building an API with that style incredibly easy.
Django REST framework
- Gives you HTML browse-able self-describing APIs. (EG, see the tutorial API.) Being able to navigate and interact with the API directly in the browser is a big usability win.
- Tries to stay close to Django idioms throughout – built on top of Django’s class based views, etc… (Whereas TastyPie came along before Django’s CBVs existed, so uses it’s own class-based views implementation)
- I’d like to think that the underlying architecture is pretty nicely built, decoupled etc…
In any case, both are good. I would probably characterise Tastypie as giving you a sensible set of defaults out of the box, and REST framework as being very nicely decoupled and flexible. If you’re planning on investing a lot of time in the API, I’d def recommend browsing through the docs & codebase of each and trying to get a feel for which suits you more.
See also Daniel Greenfeld’s blog post on Choosing an API framework for Django, from May 2012 (Worth noting that this was still a few months before the big REST framework 2.0 release).