Quelle est la meilleure bibliothèque AJAX pour Django? [fermé]

108

Quelle bibliothèque AJAX est la meilleure pour django et pourquoi?
Vous en cherchez un avec une grande base de données de tutoriels, de livres et de documentation détaillée.
Lequel est le plus simple à utiliser? Lequel est en développement précoce mais est très prometteur pour l'avenir?

Cordialement,
chriss

Chriss
la source
Le titre de votre question a été remplacé par quelque chose de plus pertinent.
mmcdole
4
Il aurait été bon de clarifier s'il s'agit d'une question sur les bibliothèques javascript (prototypejs, jquery, dojo ...) ou les bibliothèques Django / Python (dajax ...)
Steve Bennett
Il semble que les réponses ici soient maintenant très obsolètes car des frameworks tels que Django REST Framework et Tastypie semblent être plus actifs et désormais préférés par la plupart des développeurs tandis que d'autres semblent avoir des problèmes avec des frameworks moins maintenus pour le moment (tels que Dajax ).
Paul-Sebastian Manole

Réponses:

70

Je recommande vivement jQuery . Il existe plusieurs tutoriels sur la façon de l'implémenter.

http://lethain.com/entry/2007/dec/11/two-faced-django-part-5-jquery-ajax/

http://lethain.com/entry/2007/dec/01/using-jquery-django-autocomplete-fields/

http://vincentxu.net/minimal-ajax-in-django-with-jquery-post

REMARQUE: Microsoft a également annoncé il y a quelque temps que jQuery serait le framework côté client officiel pour ASP.NET MVC, il est donc bon de savoir quel que soit le framework côté serveur que vous utilisez.

Soviut
la source
Remarque: les deux premiers liens ne fonctionnent plus.
Garrett Hyde
3
Les liens semblent être de retour en ligne.
Soviut
3
Incidemment, ne construisez jamais une réponse JSON comme "{'response_text': '"+post_text+" recieved.'}"dans le troisième lien. Importez jsonou simplejsonutilisez dumps!
Flash le
2
Bien que jQuery soit fantastique, malheureusement, Django n'a pas d'intégration explicite (en dehors de l'administrateur) avec ses formulaires ou ses vues.
Cerin
2
Le dernier lien ne fonctionne plus.
svenwildermann
62

Je pense que c'est peut-être ce que vous cherchez: django-dajax

Assez bien documenté. API simple. Très propre et agréable. J'ai l'intention de l'utiliser davantage dans certains de mes projets. Il est indépendant de la bibliothèque JS et fonctionne bien avec jQuery si c'est votre truc.

METTRE À JOUR:

Autres solutions similaires au dajaxice, mais pas au dajax standard.

En fin de compte, ils fonctionnent généralement de la même manière.

  • Définissez / incluez des itinéraires URL prédéfinis.
  • Enregistrez les modèles / vues / fonctions qui seront utilisés comme sources de données.
  • Prendre plaisir.

UDATE2:

Ce conseil est super vieux. Devrait probablement rechercher d'autres solutions.

Derek Reynolds
la source
2
Je suis surpris que cela n'ait pas obtenu le vote. Ça a l'air génial. Plonger maintenant.
Ben Keating
C'est un an et demi plus tard maintenant, et le projet semble ne pas avoir eu beaucoup de mises à jour depuis. Est-ce toujours une bonne recommandation?
Tim Saylor
@TimSaylor Je dirais que DajaxIce est toujours une bibliothèque assez solide si c'est le genre de solution que vous recherchez: un moyen très simple de créer des points de terminaison ajax arbitraires que vous pouvez consommer en javascript. Personnellement, je n'utiliserais pas la bibliothèque Dajax standard car vous finissez par écrire beaucoup de code de présentation dans vos fonctions d'affichage. Cela dit, il existe une usine de bibliothèques solides disponibles pour créer automatiquement des points de terminaison RESTful à partir de vos modèles (ou d'autres données arbitraires). (Je mettrai à jour ma réponse avec des liens).
Derek Reynolds
super lib pour implémenter ajax dans django
Surya
1
La page Github pour Dajax dit maintenantShould I use django-dajaxice? -In a word, No. I created this project 4 years ago as a cool tool in order to solve one specific problem I had at that time
utilisateur
16

Il n'y a rien dans Django qui facilite l'une des bibliothèques ou qui fonctionne mieux avec le framework. Utilisez simplement celui qui correspond le mieux à votre cerveau.

Cela dit, j'ai le sentiment que jQuery est plus populaire dans le monde de Django et c'est ce que j'utilise personnellement. Plus particulièrement, de nombreuses applications de Pinax nécessitent jQuery. Quelques autres applications partagées et extraits de code pour Django:

http://www.djangosnippets.org/tags/jquery/
http://code.google.com/p/django-ajax-validation/
http://code.google.com/p/django-todo/
http: //code.google.com/p/donita/

Daniel Naab
la source
7

Commander Dajax :

Projet Dajax

Bibliothèques AJAX faciles à utiliser pour Django

Bibliothèques rapides, faciles et légères pour implémenter AJAX dans vos projets django. Prêt à l'emploi en 5 minutes.

Dajax est un outil puissant pour développer facilement et très rapidement une logique de présentation asynchrone dans des applications Web en utilisant python et presque aucune ligne de code source JS.

Il prend en charge jusqu'à quatre des frameworks JS les plus populaires: Prototype, jQuery, Dojo et mootols.

denysonique
la source
Après avoir posté cette réponse, j'ai remarqué que quelqu'un a déjà mentionné Dajax, mais cette réponse ne décrit pas ce que propose la bibliothèque (et n'a pas pu la commenter)
denysonique
1
Et si vous vérifiez les README de Github, vous trouvez "Dois-je utiliser django-dajax ou django-dajaxice? . Ces jours-ci, utiliser ces projets est une mauvaise idée. "
jwd630
4

J'ai utilisé avec succès jquery, YUI et Dojo sur différents projets django. Il n'y a rien dans aucun de ceux qui l'ont rendu meilleur à utiliser spécifiquement avec django. Je suis d'accord avec jpartogy pour dire que mochikit peut convenir à django plus que tout autre simplement à cause de l'API "pythonic" (twisted-like). Cela dépend vraiment de ce que vous recherchez dans un framework ajax.

Personnellement, j'aime ce que jQuery peut faire avec des quantités de code données, mais le plus grand défi dans l'écriture de code jQuery est de le rendre lisible.

YUI est beaucoup plus verbeux que les autres frameworks car il définit une convention d'utilisation des espaces de noms, mais il existe des raccourcis pour écrire moins de code et cela évite d'essayer de faire ressembler javascript à autre chose.

Dojo essaie de faire ressembler javascript à Java et d'après mon expérience, il est assez lent. Il a de jolis widgets et une implémentation javascript du langage de création de modèles django (ce qui est très utile même en dehors des projets django).

J'évite personnellement les prototypes et les mootools car ils peuvent casser d'autres codes javascript (ou vice versa).

Si vous êtes nouveau dans javascript et ajax, je recommanderais jQuery car c'est le plus simple pour commencer. Mais je ne m'attends pas à ce qu'un framework js soit intégré à django principalement parce que cela n'est vraiment pas nécessaire.

Vasil
la source
2

+1 à Soviut et Daniel pour de bonnes réponses. Jquery est un cadre sympa. Outre Pinax, quelques autres "grosses" applications Django l'utilisent: Satchmo et Review Board (qui est passé d'un autre framework ... mootools IIRC).

Il est également populaire de lancer votre propre Javascript sans utiliser de framework, par exemple l'admin Django.

La seule autre suggestion que je pourrais faire est que, si vous êtes un Pythonhead très expérimenté, vous aimerez peut-être mochikit qui fait l'objet de critiques pour être trop «pythonique». Cela semble être le framework de choix pour Turbogears mais personnellement je n'ai vu aucun projet Django l'utiliser.

Van Gale
la source
4
Bonne réponse à l'exception de la phrase sur le roulement de votre propre JS. Je n'appellerais pas cela populaire, je ne l'ai pas vu dans les applications Django autres que l'administrateur Django, et je le déconseille. Pourquoi se cogner la tête contre un mur de briques quand ce n'est pas nécessaire? +1 ici si cela est supprimé.
Carl Meyer
Bon, je ne dis pas que c'est une bonne idée :) Mon javascript est suffisamment faible pour que je n'ai pas le choix donc j'utilise jquery. Je l'ai mentionné parce que j'ai fait une enquête sur 4-5 des sites en haut de la liste sur djangosites.com et les ai tous trouvés en utilisant des js personnalisés.
Van Gale
En fait, même l'administrateur de Django passe à JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor
1

D'accord, cela peut être subjectif car la définition de «meilleur» peut signifier différent pour chaque individu. Mais puisque vous travaillez avec Django, cela signifie que vous vous familiariserez avec la syntaxe Python. Une bibliothèque Javascript notable qui n'est pas trop exposée est Mochikit . La bonne chose à ce sujet est que sa syntaxe est familière aux programmeurs Python (car le créateur est un programmeur Python). Il a également une documentation assez bien écrite. TurboGears prêt à l'emploi prend en charge Mochikit.

Joshua Partogi
la source
1

Si vous avez besoin de travailler avec AJAX dans vos projets django avec très peu de configuration et simple à utiliser, mon offre est:

django-ajax ( Github , Pypi )

Bibliothèques AJAX rapides, flexibles et faciles à utiliser pour les projets django. Contient un décorateur ajax, un middleware ajax, des raccourcis et plus encore.

yceruto
la source
0

L'expression «Meilleure bibliothèque AJAX» est très subjective et dépend des préférences personnelles, du savoir-faire existant, des exigences du travail, etc. etc.

Bien que je préfère jQuery pour (presque) tout, je connais des personnes qui ne jurent que par Dojo ou ExtJS. Il se peut que vous souhaitiez utiliser jQuery, mais les exigences peuvent être dictées par l'utilisation d'ExtJS.

Tout dit. Utilisez jQuery. jQuery roches;)

Mir Nazim
la source
0

Django n'est pas vraiment lié au côté client. Utilisez ce avec quoi vous êtes à l'aise. Django joue bien avec tout ce qui se trouve dans cette zone, car vous l'écrivez simplement dans les modèles.

sebnow
la source