Skillnader mellan django-tastypie-med-uppladdningar-dummycache-error500 och Django Tastypie är:
Denna version innehåller tre patchar som har lämnats in som drag förfrågningar till skaparna av Django Tastypie:
- 6bf187d> Om ett fel 500 inträffar, är budskapet om undantaget visas i felbeskrivning, i stället för en generisk "Denna begäran kunde inte behandlas.
- 18d7a90> när du använder Django s DummyCache, CacheThrottle inte misslyckas
- 1fbc0a8> tillåter filuppladdning (bilagor) på POST-begäran
När dessa fläckar ingår i källkodsarkiv, kommer detta gaffel inte krävas längre.
Vad är det se ut?
Ett enkelt exempel ser ut:
# Mittpgm / api.py
# ============
från tastypie.resources import ModelResource
från myapp.models import Entry
klass EntryResource (ModelResource):
& Nbsp; klass Meta:
& Nbsp; queryset = Entry.objects.all ()
# Urls.py
# =======
från django.conf.urls.defaults importera *
från tastypie.api import Api
från myapp.api import EntryResource
v1_api = Api (api_name = 'v1)
v1_api.register (EntryResource ())
urlpatterns = mönster ('',
& Nbsp; # Den normala jazz här då ...
& Nbsp; (r '^ api /' inkluderar (v1_api.urls)),
)
Det får du en fullt fungerande, läs-skriv API för instegsmodellen som stödjer alla CRUD-operationer i en vilsam sätt. JSON / XML / YAML stöd finns redan, och det är lätt att lägga till relaterade data / verifiering / cache.
Du kan hitta mer i dokumentationen http://django-tastypie.readthedocs.org/.
Varför tastypie?
Det finns andra, bättre kända API ramar ute för Django. Du måste bedöma de tillgängliga alternativen och bestäm själv. Som sagt, här är några vanliga orsaker till tastypie.
- Du behöver ett API som är vilsam och använder HTTP väl.
- Du vill stödja djupa relationer.
- Du vill inte ha att skriva en egen serializer att göra produktionen rätt.
- Du vill ha en ram API som har lite magi, mycket flexibel och kartor väl till problemet domänen.
- Du vill / behöver XML serialisering som behandlas på samma sätt som JSON (och YAML är det alltför).
- Du vill stödja min uppfattas NIH syndrom, vilket är mindre om NIH och mer om att försöka hjälpa vänner / medarbetare.
Referensmaterial
- Http://github.com/toastdriven/django-tastypie/tree/master/tests/basic visar grundläggande användning 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 hittades inte