2011-01-21 4 views
-4

Django-reste ou Django Pistons?Quoi de mieux à utiliser pour Django?

Quoi de mieux pour les API?

+2

S'il vous plaît fournir vos critères pour "mieux"? Plus rapide? Moins cher? Plus d'utilisation des produits sous licence Oracle? –

+0

Quelle est une meilleure bibliothèque en général. Pistons a beaucoup de problèmes – TIMEX

Répondre

4

Je n'ai pas utilisé le django-repos, mais j'ai utilisé le django-piston et je l'ai trouvé très efficace et assez facile à mettre en place rapidement.

Il semble également être un choix populaire avec beaucoup de devs que je connais - et il alimente l'API pour bitbucket, que je prends comme un bon signe.

Pour moi, les principaux pincement points sont les suivants:

  • si vous cherchez à créer des représentations hybrides de vos modèles de données (par exemple, vous voulez la représentation standard des ressources utilisateur pour afficher tous les champs, mais (par exemple - je ne veux pas démarrer une guerre REST ici) vous voulez aussi que votre représentation Foo montre un sous-ensemble limité de champs User) alors vous devez écrire un code de définition de ressource plus compliqué pour le faire, parce que le La configuration basée sur les classes permet uniquement une représentation d'un modèle donné qui est automatiquement réutilisé chaque fois que cette ressource est nécessaire. (Ce qui est réellement une bonne chose, mais peut être une contrainte si vous devez plier la sortie un peu.)

  • Si l'un de vos modèles stockent du XML réel, vous devrez écrire un smart/non-échapper d'émetteur à manipuler, ce qui est plus sur le poinçonnage obtenir occupé avec votre bibliothèque XML favori (conseil: elementTree)

Même avec ces deux choses à l'esprit, le piston a été mon go-to ressource pour frapper un rapide API, et j'ai été très heureux jusqu'à présent. Je suis tenté d'essayer django-tastypie suivant, bien que

+1

"il alimente l'API pour bitbucket" Fait intéressant, le gars qui a écrit Piston a également écrit BitBucket. –

+0

BitBucket est-il construit sur Django? – TIMEX

+0

@TIMEX oui, regardez la dernière ligne du pied de page sur bitbucket.org "Nous courons Django 1.2.4 * Piston 0.2.3rc1 * Hg 1.7.2 * Python 2.7.0" –

1

Personnellement, j'aime Piston. Il semble que la liste de diffusion soit active et qu'elle soit assez personnalisable. J'aime ce qui est assez flexible quant à quel type de formats de sortie que vous pouvez demander de lui. De plus, créer votre propre module d'authentification est assez facile. Je n'ai pas vraiment utilisé le django-repos.

Questions connexes