Skip to content
preriasusi edited this page Nov 7, 2014 · 5 revisions

For API development we use http://www.django-rest-framework.org/ https://github.com/koulutuksenpilvivayla/pilvivayla-development/blob/master/images/django-rest-logo.png?raw=true

Django REST framework is a powerful and flexible toolkit that makes it easy to build Web APIs.

Some reasons you might want to use REST framework:

  • The Web browseable API is a huge usability win for your developers.
  • Authentication policies including OAuth1a and OAuth2 out of the box.
  • Serialization that supports both ORM and non-ORM data sources.
  • Customizable all the way down - just use regular function-based views if you don't need the more powerful features.
  • Extensive documentation, and great community support.
  • Used and trusted by large companies such as Mozilla and Eventbrite.

Requirements

REST framework requires the following:

  • Python (2.6.5+, 2.7, 3.2, 3.3)
  • Django (1.3, 1.4, 1.5, 1.6)

The following packages are optional:

  • Markdown (2.1.0+) - Markdown support for the browsable API.
  • PyYAML (3.10+) - YAML content-type support.
  • defusedxml (0.3+) - XML content-type support.
  • django-filter (0.5.4+) - Filtering support.
  • django-oauth-plus (2.0+) and oauth2 (1.5.211+) - OAuth 1.0a support.
  • django-oauth2-provider (0.2.3+) - OAuth 2.0 support.
  • django-guardian (1.1.1+) - Object level permissions support.

Note: The oauth2 Python package is badly misnamed, and actually provides OAuth 1.0a support. Also note that packages required for both OAuth 1.0a, and OAuth 2.0 are not yet Python 3 compatible.

Clone this wiki locally