Creating delicious APIs for Django apps since 2010. v1.0.0-beta
Creating delicious APIs for Django apps since 2010.
Currently in beta (v0.9.11) but being used actively in production on several
sites.
Python 2.6+
Django 1.3+
mimeparse 0.1.3+ (http://code.google.com/p/mimeparse/)
dateutil (http://labix.org/python-dateutil) >= 1.5, < 2.0
A basic example looks like::
# myapp/api.py
# ============
from tastypie.resources import ModelResource
from myapp.models import Entry
class EntryResource(ModelResource):
class Meta:
queryset = Entry.objects.all()
# urls.py
# =======
from django.conf.urls.defaults import *
from tastypie.api import Api
from myapp.api import EntryResource
v1_api = Api(api_name='v1')
v1_api.register(EntryResource())
urlpatterns = patterns('',
# The normal jazz here then...
(r'^api/', include(v1_api.urls)),
)
That gets you a fully working, read-write API for the Entry model that
supports all CRUD operations in a RESTful way. JSON/XML/YAML support is already
there, and it’s easy to add related data/authentication/caching.
You can find more in the documentation at
http://django-tastypie.readthedocs.org/.
There are other, better known API frameworks out there for Django. You need to
assess the options available and decide for yourself. That said, here are some
common reasons for tastypie.
If you’re using Tastypie in a commercial environment, paid support is available
from Toast Driven_. Services offered include:
If you’re interested, please contact Daniel Lindsley (daniel@toastdriven.com).
… _Toast Driven: http://toastdriven.com/
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.