Was ist die beste AJAX-Bibliothek für Django? [geschlossen]

108

Welche AJAX-Bibliothek ist die beste für Django und warum?
Suchen Sie eine mit einer großen Datenbank mit Tutorials, Büchern und detaillierten Dokumentationen.
Mit welchem ​​ist es am einfachsten zu arbeiten? Welches befindet sich in der frühen Entwicklung, ist aber vielversprechend für die Zukunft?

Grüße,
chriss

chriss
quelle
Der Titel Ihrer Frage wurde in einen relevanteren geändert.
mmcdole
4
Es wäre gut gewesen zu klären, ob dies eine Frage zu Javascript-Bibliotheken (Prototypen, JQuery, Dojo ...) oder Django / Python-Bibliotheken (Dajax ...) ist
Steve Bennett
Es scheint, dass die Antworten hier jetzt sehr veraltet sind, da Frameworks wie Django REST Framework und Tastypie aktiver zu sein scheinen und jetzt von den meisten Entwicklern bevorzugt werden, während andere Probleme mit Frameworks zu haben scheinen, die derzeit weniger gewartet werden (wie Dajax) ).
Paul-Sebastian Manole

Antworten:

70

Ich kann jQuery nur empfehlen . Es gibt verschiedene Tutorials zur Implementierung.

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

HINWEIS: Microsoft hat vor einiger Zeit auch angekündigt, dass jQuery das offizielle clientseitige Framework für ASP.NET MVC sein wird. Daher ist es gut zu wissen, unabhängig davon, welches serverseitige Framework Sie verwenden.

Soviut
quelle
Hinweis: Die ersten beiden Links funktionieren nicht mehr.
Garrett Hyde
3
Die Links scheinen wieder online zu sein.
Soviut
3
Erstellen Sie übrigens niemals eine JSON-Antwort wie "{'response_text': '"+post_text+" recieved.'}"im dritten Link. Importieren jsonund simplejsonund verwenden dumps!
Flash
2
Obwohl jQuery fantastisch ist, hat Django leider keine explizite Integration (außerhalb von admin) in seine Formen oder Ansichten.
Cerin
2
Der letzte Link funktioniert nicht mehr.
Svenwildermann
62

Ich denke, das ist vielleicht das, wonach Sie suchen: Django-Dajax

Ziemlich gut dokumentiert. Einfache API. Sehr sauber und schön. Ich habe vor, es in einigen meiner Projekte stärker einzusetzen. Es ist unabhängig von der JS-Bibliothek und funktioniert gut mit jQuery, wenn das Ihr Ding ist.

AKTUALISIEREN:

Andere Lösungen ähnlich wie Dajaxice, aber nicht Standard-Dajax.

Am Ende arbeiten sie meistens gleich.

  • Definieren / fügen Sie einige vordefinierte URL-Routen ein.
  • Registrieren Sie Modelle / Ansichten / Funktionen, die als Datenquellen verwendet werden.
  • Genießen.

UDATE2:

Dieser Rat ist super alt. Sollte wahrscheinlich nach anderen Lösungen suchen.

Derek Reynolds
quelle
2
Ich bin überrascht, dass dies nicht zur Abstimmung kam. Sieht großartig aus. Jetzt eintauchen.
Ben Keating
Es ist jetzt 1,5 Jahre später und das Projekt scheint seitdem nicht mehr viele Updates gehabt zu haben. Ist das noch eine gute Empfehlung?
Tim Saylor
@ TimSaylor Ich würde sagen, DajaxIce ist immer noch eine ziemlich solide Bibliothek, wenn dies die Art von Lösung ist, nach der Sie suchen: eine absolut einfache Möglichkeit, beliebige Ajax-Endpunkte zu erstellen, die Sie in Javascript verwenden können. Ich persönlich würde die reguläre Dajax-Bibliothek nicht verwenden, da Sie am Ende viel Präsentationscode in Ihre Ansichtsfunktionen schreiben. Es stehen jedoch zahlreiche solide Bibliotheken zur Verfügung, mit denen RESTful-Endpunkte automatisch aus Ihren Modellen (oder anderen beliebigen Daten) erstellt werden können. (Ich werde meine Antwort mit Links aktualisieren).
Derek Reynolds
Super Lib für die Implementierung von Ajax in Django
Surya
1
Die Github-Seite für Dajax sagt jetztShould 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
Benutzer
16

Es gibt nichts an Django, was eine der Bibliotheken einfacher macht oder besser mit dem Framework arbeitet. Verwenden Sie einfach diejenige, die am besten zu Ihrem Gehirn passt.

Mein Gefühl ist jedoch, dass jQuery in der Django-Welt populärer ist und ich persönlich benutze. Vor allem viele der Apps in Pinax erfordern jQuery. Einige andere gemeinsam genutzte Apps und Codefragmente für 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
quelle
7

Kasse Dajax :

Dajax-Projekt

Einfach zu bedienende AJAX-Bibliotheken für Django

Schnelle, einfache und einfache Bibliotheken zur Implementierung von AJAX in Ihre Django-Projekte. In 5 Minuten einsatzbereit.

Dajax ist ein leistungsstarkes Tool zum einfachen und superschnellen Entwickeln von asynchroner Präsentationslogik in Webanwendungen unter Verwendung von Python und fast ohne Zeilen JS-Quellcode.

Es unterstützt bis zu vier der beliebtesten JS-Frameworks: Prototype, jQuery, Dojo und Mootols.

denysonique
quelle
Nachdem ich diese Antwort gepostet habe, habe ich festgestellt, dass jemand Dajax bereits erwähnt hat, aber diese Antwort beschreibt nicht, was die Bibliothek anbietet (und konnte sie nicht kommentieren)
denysonique
1
Und wenn Sie die Github-READMEs überprüfen, finden Sie: "Soll ich Django-Dajax oder Django-Dajaxice verwenden? Mit einem Wort: Nein. Ich habe diese Projekte vor 4 Jahren als cooles Tool erstellt, um ein bestimmtes Problem zu lösen, das ich zu dieser Zeit hatte Heutzutage ist es eine schlechte Idee, diese Projekte zu verwenden. "
jwd630
4

Ich habe jquery, YUI und Dojo erfolgreich in verschiedenen Django-Projekten eingesetzt. Es gibt nichts an denen, die es besser gemacht haben, es speziell mit Django zu verwenden. Ich stimme jpartogy zu, dass Mochikit aufgrund der "pythonischen" (verdrehten) API mehr als jedes andere zu Django passt. Es hängt wirklich davon ab, wonach Sie in einem Ajax-Framework suchen.

Persönlich gefällt mir, was jQuery mit bestimmten Codemengen tun kann, aber die größte Herausforderung beim Schreiben von jQuery-Code besteht darin, ihn lesbar zu machen.

YUI ist viel ausführlicher als andere Frameworks, da es eine Konvention für die Verwendung von Namespaces festlegt. Es gibt jedoch Verknüpfungen zum Schreiben von weniger Code und es wird vermieden, dass versucht wird, Javascript wie etwas anderes aussehen zu lassen.

Dojo versucht, Javascript wie Java aussehen zu lassen und ist meiner Erfahrung nach ziemlich langsam. Es hat einige nette Widgets und eine Javascript-Implementierung der Django-Template-Sprache (die auch außerhalb von Django-Projekten ziemlich nützlich ist).

Ich persönlich vermeide Prototypen und Mootools, weil sie anderen Javascript-Code beschädigen können (oder umgekehrt).

Wenn Sie mit Javascript und Ajax noch nicht vertraut sind, würde ich jQuery empfehlen, da dies am einfachsten ist. Aber ich erwarte nicht, dass irgendein js-Framework in django integriert wird, hauptsächlich, weil das wirklich nicht nötig ist.

Vasil
quelle
2

+1 an Soviut und Daniel für gute Antworten. Jquery ist ein schöner Rahmen. Neben Pinax verwenden es einige andere "große" Django-Anwendungen: Satchmo und Review Board (die von einem anderen Framework gewechselt sind ... mootools IIRC).

Beliebt ist auch das Rollen Ihres eigenen Javascript ohne Verwendung eines Frameworks, zum Beispiel des Django-Administrators.

Der einzige andere Vorschlag, den ich machen könnte, ist, dass Sie, wenn Sie ein sehr erfahrener Pythonhead sind, vielleicht Mochikit mögen, das kritisiert wird, weil es zu "pythonisch" ist. Es scheint der Rahmen der Wahl für Turbogears zu sein, aber ich persönlich habe keine Django-Projekte gesehen, die es verwenden.

Van Gale
quelle
4
Gute Antwort, bis auf den Satz über das Rollen Ihres eigenen JS. Ich würde das nicht als beliebt bezeichnen, ich habe es in anderen Django-Apps als dem Django-Administrator nicht gesehen und ich empfehle dagegen. Warum deinen Kopf gegen eine Mauer schlagen, wenn du nicht musst? +1 hier, wenn das entfernt ist.
Carl Meyer
Nun, ich sage nicht, dass es eine gute Idee ist :) Mein Javascript ist schwach genug, dass ich keine Wahl habe, also benutze ich jquery. Ich habe es erwähnt, weil ich 4-5 der Websites oben auf der Liste bei djangosites.com befragt und sie alle mit benutzerdefinierten js gefunden habe.
Van Gale
Tatsächlich wechselt sogar der Django-Administrator zu JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor
1

Okay, das könnte subjektiv sein, da die Definition von "am besten" für jeden Einzelnen unterschiedlich sein kann. Da Sie jedoch mit Django arbeiten, bedeutet dies, dass Sie die Python-Syntax in den Griff bekommen. Eine bemerkenswerte Javascript-Bibliothek, die nicht zu stark verfügbar gemacht wird, ist Mochikit . Das Gute daran ist, dass die Syntax dem Python-Programmierer vertraut ist (da der Ersteller ein Python-Programmierer ist). Es hat auch die Dokumentation sehr gut aufgeschrieben. TurboGears Out-of-the-Box unterstützt Mochikit.

Joshua Partogi
quelle
1

Wenn Sie mit AJAX in Ihren Django-Projekten mit sehr wenig Setup und einfacher Bedienung arbeiten müssen, ist mein Angebot:

Django-Ajax ( Github , Pypi )

Schnelle, flexible und einfach zu verwendende AJAX-Bibliotheken für Django-Projekte. Enthält Ajax Decorator, Ajax Middleware, Verknüpfungen und mehr.

Yceruto
quelle
0

Der Ausdruck "Beste AJAX-Bibliothek" ist sehr subjektiv und hängt von persönlichen Vorlieben, vorhandenem Know-how, Anforderungen an die Arbeit usw. usw. ab.

Während ich jQuery für (fast) alles bevorzuge, kenne ich einige Leute, die auf Dojo oder ExtJS schwören. Es kann vorkommen, dass Sie jQuery verwenden möchten, die Anforderungen jedoch möglicherweise die Verwendung von ExtJS vorschreiben.

Alle sagten. Verwenden Sie jQuery. jQuery rockt;)

Mir Nazim
quelle
0

Django passt nicht wirklich zur Kundenseite. Verwenden Sie alles, was Sie möchten. Django spielt gut mit allem in diesem Bereich, weil Sie es einfach in die Vorlagen schreiben.

sebnow
quelle