Forskjeller mellom django-tastypie-med-opplastinger-dummycache-error500 og Django Tastypie er:
Denne versjonen omfatter tre patcher som er sendt inn som pull forespørsler til skaperne av Django Tastypie:
- 6bf187d> hvis en feil 500 oppstår, er budskapet om unntaket som vises i feilbeskrivelsen, i stedet for en generisk 'Denne forespørselen kunne ikke behandles ".
- 18d7a90> når du bruker Django sin DummyCache, CacheThrottle ikke mislykkes
- 1fbc0a8> lar filopplasting (vedlegg) på POST-forespørsler
Når disse flekker er inkludert i kilde depotet, vil dette gaffel ikke lenger nødvendig.
Hva er det se ut?
En grunnleggende eksempel ser slik ut:
# MyApp / api.py
# ============
fra tastypie.resources import ModelResource
fra myapp.models import Entry
klasse EntryResource (ModelResource):
& Nbsp; klasse Meta:
& Nbsp; queryset = Entry.objects.all ()
# Urls.py
# =======
fra django.conf.urls.defaults importere *
fra tastypie.api import Api
fra myapp.api import EntryResource
v1_api = Api (api_name = 'v1')
v1_api.register (EntryResource ())
urlpatterns = mønstre ('',
& Nbsp; # Den normale jazz her da ...
& Nbsp; (r '^ api /', inkluderer (v1_api.urls)),
)
Som får deg et fullt fungerende, lese-skrive API for Entry modell som støtter alle crud operasjoner i en avslappet måte. JSON / XML / YAML støtte er allerede der, og det er enkelt å legge til relaterte data / autentisering / caching.
Du kan finne mer i dokumentasjonen på http://django-tastypie.readthedocs.org/.
Hvorfor tastypie?
Det finnes andre, bedre kjent API rammeverk der ute for Django. Du må vurdere de tilgjengelige alternativene og bestemme selv. Når det er sagt, her er noen vanlige årsaker til tastypie.
- Du trenger en API som er avslappende og bruker HTTP godt.
- Du ønsker å støtte dype relasjoner.
- Du ønsker ikke å ha for å skrive din egen serialisering å gjøre produksjonen høyre.
- Vil du ha en API rammeverk som har litt magi, veldig fleksibel og kart godt til problemet domene.
- Du ønsker / trenger XML serialisering som behandles likt å JSON (og YAML er det også).
- Du ønsker å støtte mitt oppfattet NIH syndrom, som er mindre om NIH og mer om å prøve å hjelpe til venner / kollegaer.
Reference Material
- Http://github.com/toastdriven/django-tastypie/tree/master/tests/basic viser grunnleggende bruk av tastypie
- Http://en.wikipedia.org/wiki/REST
- Http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- Http://www.ietf.org/rfc/rfc2616.txt
- http://jacobian.org/writing/rest-worst-practices/
Requirements:
- Python
- Django
- mimeparse
- python-dateutil
Kommentarer ikke funnet