I'm looking to implement a RESTful interface for a Django application. It is primarily a data-service application - the interface will be (at this point) read-only.
The question is which Django toolsets / frameworks make the most sense for this task.
I see Django-rest and Django-piston. There's also the option of rolling my own.
The question was asked here, but a good two years back. I'd like to know what the current state of play is.
In this question, circa 2008, the strong majority vote was to not use any framework at all - just create Django views that reply with e.g. JSON. (The question was also addressed, crica 2008, here.)
In the current landscape, what makes the most sense?
The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces. In this course you'll learn about: The REST protocol. DRF Serializers and how to use them with Django objects.
Django REST framework is a powerful and flexible toolkit for building Web APIs. Some reasons you might want to use REST framework: The Web browsable API is a huge usability win for your developers. Authentication policies including packages for OAuth1a and OAuth2.
Who uses Django REST framework? 337 companies reportedly use Django REST framework in their tech stacks, including Robinhood, UpstageAI, and BirdView.
NOTE: Since this post was written,
django-piston
is no longer actively maintained. As others have mentioned, look intotastypie
ordjango-rest-framework
.
Indeed, you can roll your own, but there's a lot of boilerplate involved.
django-piston is an exceptionally easy to use, and extensible, micro-framework. In addition to mocking up all the necessary views and url patterns, it supports directly mapping models to a REST interface, which is nice if you have a simple use case. I'd suggest looking into it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With