Verschillen tussen django-tastypie-met-upload-dummycache-error500 en Django Tastypie zijn:
Deze versie bevat drie patches die zijn ingediend als pull verzoeken aan de makers van Django Tastypie:
- 6bf187d> als een fout 500 optreedt, wordt het bericht van de uitzondering in de omschrijving van de fout, in plaats van een generieke 'Dit verzoek kon niet worden verwerkt'.
- 18d7a90> bij gebruik van Django's DummyCache, CacheThrottle niet faalt
- 1fbc0a8> maakt het uploaden van bestanden (bijlagen) op POST-aanvragen
Zodra deze pleisters zijn in de brongegevensopslagruimte Deze vork niet langer vereist.
Wat is het eruit?
Een eenvoudig voorbeeld ziet er als:
# Myapp / api.py
# ============
van tastypie.resources import ModelResource
van myapp.models import Entry
klasse EntryResource (ModelResource):
& Nbsp; klasse Meta:
& Nbsp; queryset = Entry.objects.all ()
# Urls.py
# =======
van django.conf.urls.defaults importeren *
van tastypie.api import Api
van myapp.api import EntryResource
v1_api = Api (api_name = 'v1')
v1_api.register (EntryResource ())
urlpatterns = patronen ('',
& Nbsp; # De normale jazz dan hier ...
& Nbsp; (r '^ api /', onder meer (v1_api.urls)),
)
Dat krijgt u een volledig werkende, read-write API voor het Entry model dat alle CRUD operaties in een ontspannen manier ondersteunt. JSON / XML / YAML-ondersteuning is er al, en het is gemakkelijk om gerelateerde gegevens / authenticatie / caching toe te voegen.
U kunt meer in de documentatie vinden op http://django-tastypie.readthedocs.org/.
Waarom tastypie?
Er zijn andere, beter bekende API kaders die er zijn voor Django. Je moet om te beoordelen de beschikbare opties en beslis voor jezelf. Dat gezegd hebbende, hier zijn enkele veel voorkomende redenen voor tastypie.
- U heeft een API die is rustgevend en maakt gebruik van HTTP goed.
- U wilt diepe relaties te ondersteunen.
- U wilt niet te hebben om je eigen serializer op de uitgang goed te maken te schrijven.
- U wilt een API raamwerk dat beetje magie, zeer flexibel is en kaarten goed om het probleem domein.
- U wilt / nodig XML serialisatie dat gelijk wordt behandeld om JSON (en YAML is er ook).
- Wil je mijn vermeende NIH-syndroom, dat is minder over de NIH en meer over proberen te helpen vrienden / collega's te ondersteunen.
Reference Material
- Http://github.com/toastdriven/django-tastypie/tree/master/tests/basic toont basisgebruik van 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
Reacties niet gevonden