Pourquoi utiliseriez-vous l'un sur l'autre, pour exposer une API pour votre application Django?
Réponses
Trop de publicités?Comme l'auteur de django-repos-cadre, j'ai un biais évident ;) mais mon, espérons-assez-avis objectif sur ce est quelque chose comme:
TastyPie
- Comme Torsten noté, vous n'allez pas aller loin de mal avec quelque chose d'écrit par le même peeps comme le génial django botte de foin. De ce que j'ai vu sur leur liste d'envoi Daniel Lindsey et al sont super utiles, et Tastypie est stable, complet et bien documenté
- Excelle en vous donnant un ensemble sensible de comportement par défaut et de faire de la construction d'une API avec ce style incroyablement facile.
Django REPOS cadre
- Vous donne HTML parcourir capable de s'auto-décrire les Api. (Par exemple, voir le tutoriel de l'API.) Être capable de naviguer et d'interagir avec l'API directement dans le navigateur est une grande convivialité gagner.
- Essaie de rester proche de Django idiomes tout au long construit sur le dessus de Django classe de vues, etc... (alors que TastyPie est venu avant de Django reinhardt, CBVs existé, donc utilise sa propre classe vues de mise en œuvre)
- J'aime à penser que l'architecture sous-jacente est assez bien construit, découplé, etc...
En tout cas, les deux sont bons. Je serais probablement caractériser Tastypie que de vous donner un assortiment de valeurs par défaut de la boîte, de REPOS et de cadre de travail comme étant très bien découplé et flexible. Si vous avez l'intention d'investir beaucoup de temps dans l'API, j'avais def recommander la navigation à travers les documents et de la base de code de chacun et essayer d'obtenir une idée de ce qui vous convient le plus.
Évidemment, il y a aussi le "Pourquoi TastyPie?' section dans il README, et le REPOS de cadre 2 annonce'.
Voir aussi Daniel Greenfeld blog post sur le Choix d'une API cadre de Django, à partir de Mai 2012 (à noter que ce était encore quelques mois avant le grand REPOS cadre de la version 2.0).
Aussi un couple de fils de discussion sur Reddit avec des gens poser cette même question, à partir de Décembre 2013 et juillet 2013.
Dernière mise à jour de Février 2014
Les deux sont de bons choix.
Pour les filtres, tastypie est plus puissant out-of-the-box. Si vous avez un point de vue qui expose un modèle, vous pouvez le faire de Django style de l'inégalité des filtres:
http://www.example.com/api/person?age__gt=30
ou des OU des requêtes:
http://www.example.com/api/mymodel?language__in=en&language__in=fr
ces sont possibles avec djangorestframework, mais vous avez à écrire des filtres personnalisés pour chaque modèle.
Pour un retraçage, j'ai été plus impressionné par django-repos-cadre. Tastypie essaie de courriel settings.ADMINS
sur les exceptions lorsque le DÉBOGAGE est éteint. Lorsque le DÉBOGAGE est activé, le message d'erreur par défaut est sérialisé JSON, ce qui est plus difficile à lire.
Pour une vue d'ensemble sur les différences réelles entre les deux, vous devriez lire leur documentation. Ils sont tous les deux plus ou moins complète et assez mature.
Personnellement, j'ai tendance à tastypie. Il semble être plus facile à mettre en place. Il est fait par les mêmes personnes qui ont créé django botte de foin qui est génial et selon django-paquets , il est utilisé plus de Django RESTE du cadre.