Jaka jest najlepsza biblioteka AJAX dla Django? [Zamknięte]


108

Która biblioteka AJAX jest najlepsza dla django i dlaczego?
Szukam takiego z dużą bazą samouczków, książek i szczegółową dokumentacją.
Z którym najłatwiej się pracuje? Który z nich jest na wczesnym etapie rozwoju, ale zapowiada się obiecująco na przyszłość?

Pozdrawiam,
chriss


Zmieniono tytuł pytania na bardziej odpowiedni.
mmcdole

4
Byłoby dobrze wyjaśnić, czy jest to pytanie dotyczące bibliotek javascript (prototypejs, jquery, dojo ...) lub bibliotek Django / Python (dajax ...)
Steve Bennett

Wygląda na to, że odpowiedzi tutaj są teraz wysoce przestarzałe, ponieważ frameworki takie jak Django REST Framework i Tastypie wydają się być bardziej aktywne i preferowane przez większość programistów, podczas gdy inni wydają się mieć problemy z frameworami, które są obecnie mniej utrzymywane (takie jak Dajax ).
Paul-Sebastian Manole

Odpowiedzi:


70

Bardzo polecam jQuery . Istnieje kilka samouczków, jak to wdrożyć.

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

UWAGA: Firma Microsoft niedawno ogłosiła, że ​​jQuery będzie oficjalną strukturą po stronie klienta dla ASP.NET MVC, więc dobrze jest wiedzieć, niezależnie od używanej struktury po stronie serwera.


Uwaga: pierwsze dwa łącza już nie działają.
Garrett Hyde,

3
Wydaje się, że linki znów są online.
Soviut,

3
Nawiasem mówiąc, nigdy nie twórz odpowiedzi JSON, jak "{'response_text': '"+post_text+" recieved.'}"w trzecim linku. Importuj jsonlub simplejsoni używaj dumps!
Flash

2
Chociaż jQuery jest fantastyczny, niestety Django nie ma jawnej integracji (poza administratorem) z jego formularzami lub widokami.
Cerin

2
Ostatni link już nie działa.
svenwildermann

62

Myślę, że to może być to, czego szukasz: django-dajax

Całkiem dobrze udokumentowane. Prosty interfejs API. Bardzo czysto i przyjemnie. Planuję używać go częściej w niektórych moich projektach. Jest to niezależne od biblioteki JS i działa dobrze z jQuery, jeśli to lubisz.

AKTUALIZACJA:

Inne rozwiązania podobne do dajaxice, ale nie standardowe dajax.

W końcu w większości działają tak samo.

  • Zdefiniuj / dołącz niektóre predefiniowane trasy URL.
  • Zarejestruj modele / widoki / funkcje, które będą używane jako źródła danych.
  • Cieszyć się.

UDATE2:

Ta rada jest bardzo stara. Powinien prawdopodobnie zbadać inne rozwiązania.


2
Dziwię się, że to nie dostało głosu. Wygląda świetnie. Nurkuję teraz.
Ben Keating,

Minęło 1,5 roku i wygląda na to, że od tamtej pory projekt nie miał wielu aktualizacji. Czy to nadal dobra rekomendacja?
Tim Saylor

@TimSaylor Powiedziałbym, że DajaxIce jest nadal całkiem solidną biblioteką, jeśli jest to rozwiązanie, którego szukasz: martwy prosty sposób na tworzenie dowolnych punktów końcowych Ajax, które możesz konsumować w javascript. Osobiście nie użyłbym zwykłej biblioteki Dajax, ponieważ w końcu piszesz dużo kodu prezentacji w swoich funkcjach widoku. To powiedziawszy, istnieje wiele stałych bibliotek dostępnych do automatycznego tworzenia punktów końcowych RESTful na podstawie modeli (lub innych dowolnych danych). (Zaktualizuję odpowiedź o linki).
Derek Reynolds

super lib do implementacji Ajax w django
Surya

1
Strona Github dla Dajax mówi terazShould 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
użytkownik

16

W Django nie ma nic, co sprawia, że ​​którakolwiek z bibliotek jest łatwiejsza lub lepiej współpracuje z frameworkiem. Po prostu użyj tego, który najlepiej pasuje do Twojego mózgu.

Powiedziawszy to, mam poczucie, że jQuery jest bardziej popularne w świecie Django i osobiście z niego korzystam. Przede wszystkim wiele aplikacji w Pinaxie wymaga jQuery. Inne udostępnione aplikacje i fragmenty kodu dla 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/



7

Zamówienie Dajax :

Projekt Dajax

Łatwe w użyciu biblioteki AJAX dla Django

Szybkie, łatwe i lekkie biblioteki do implementacji AJAX w projektach django. Gotowy do użycia w 5 minut.

Dajax to potężne narzędzie do łatwego i superszybkiego tworzenia asynchronicznej logiki prezentacji w aplikacjach internetowych przy użyciu języka Python i prawie bez wierszy kodu źródłowego JS.

Obsługuje do czterech najpopularniejszych frameworków JS: Prototype, jQuery, Dojo i mootols.


Po zamieszczeniu tej odpowiedzi zauważyłem, że ktoś już wspomniał o Dajax, ale ta odpowiedź nie opisuje tego, co oferuje biblioteka (i nie był w stanie tego skomentować)
denysonique

1
A jeśli zajrzysz do Github README, znajdziesz "Czy powinienem używać django-dajax czy django-dajaxice? Jednym słowem, nie. Stworzyłem te projekty 4 lata temu jako fajne narzędzie do rozwiązania jednego konkretnego problemu, który miałem w tamtym czasie . Obecnie korzystanie z tych projektów to zły pomysł ”.
jwd630,

4

Z powodzeniem używałem jquery, YUI i Dojo w różnych projektach django. Nie ma nic w tych, które sprawiłyby, że lepiej było używać go z django. Zgadzam się z jpartogy, że mochikit może pasować do django bardziej niż jakikolwiek inny, tylko z powodu "pythonowego" (skręconego) API. To naprawdę zależy od tego, czego szukasz w ramach Ajax.

Osobiście podoba mi się to, co jQuery może zrobić z określoną ilością kodu, ale największym wyzwaniem w pisaniu kodu jQuery jest uczynienie go czytelnym.

YUI jest znacznie bardziej rozwlekły niż inne frameworki, ponieważ ustala konwencję używania przestrzeni nazw, ale istnieją skróty do pisania mniej kodu i unika prób nadania javascriptowi czegoś innego.

Dojo stara się, aby javascript wyglądało jak Java iz mojego doświadczenia jest dość powolne. Ma kilka fajnych widżetów i implementację języka JavaScript do tworzenia szablonów django (który jest całkiem przydatny nawet poza projektami django).

Osobiście unikam prototypów i mootoolów, ponieważ mogą one złamać inny kod javascript (lub odwrotnie).

Jeśli nie znasz jeszcze javascript i ajax, polecam jQuery, ponieważ jest to najłatwiejsze do rozpoczęcia. Ale nie spodziewam się integracji frameworka js z django, głównie dlatego, że nie ma takiej potrzeby.


2

+1 dla Soviutanta i Daniela za dobre odpowiedzi. Jquery to fajny framework. Poza Pinaxem używa go kilka innych "dużych" aplikacji Django: Satchmo i Review Board (które przestawiły się z innego frameworka ... mootools IIRC).

Popularne jest również rozwijanie własnego Javascript bez użycia żadnego frameworka, na przykład administratora Django.

Jedyną inną sugestią, jaką mogę zrobić, jest to, że jeśli jesteś bardzo doświadczonym Pythonheadem, możesz polubić mochikit, który jest krytykowany za zbyt `` pytoniczny ''. Wydaje się, że jest to platforma wybrana dla Turbogears, ale osobiście nie widziałem żadnych projektów Django, które jej używają.


4
Dobra odpowiedź poza frazą o toczeniu własnego JS. Nie nazwałbym tego popularnym, nie widziałem tego w aplikacjach Django innych niż administrator Django i odradzam. Po co walić głową w ceglaną ścianę, kiedy nie musisz? +1 tutaj, jeśli zostanie usunięty.
Carl Meyer,

Cóż, nie mówię, że to dobry pomysł :) Mój javascript jest na tyle słaby, że nie mam wyboru, więc używam jquery. Wspomniałem o tym, ponieważ przeprowadziłem ankietę na temat 4-5 witryn znajdujących się na górze listy w djangosites.com i znalazłem je wszystkie przy użyciu niestandardowego js.
Van Gale

W rzeczywistości nawet administrator Django przechodzi na JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor

1

OK, to może być subiektywne, ponieważ definicja „najlepszego” może oznaczać różne dla każdej osoby. Ale ponieważ pracujesz z Django, oznacza to, że opanujesz składnię Pythona. Jedną z godnych uwagi bibliotek JavaScript, która nie jest zbytnio ujawniana, jest Mochikit . Dobrą rzeczą jest to, że ma składnię znaną programistom Pythona (ponieważ twórca jest programistą Pythona). Ma też całkiem ładnie spisaną dokumentację. TurboGears po wyjęciu z pudełka obsługuje Mochikit.


1

Jeśli potrzebujesz pracować z AJAX w swoich projektach django z bardzo małą konfiguracją i prostym w użyciu, moja oferta to:

django-ajax ( Github , Pypi )

Szybkie, elastyczne i łatwe w użyciu biblioteki AJAX dla projektów django. Zawiera dekorator AJAX, oprogramowanie pośredniczące AJAX, skróty i więcej.


0

Wyrażenie „Najlepsza biblioteka AJAX” jest wysoce subiektywne i zależy od osobistych preferencji, istniejącego know-how, wymagań pracy itp.

Chociaż wolę jQuery do (prawie) wszystkiego, znam kilka osób, które przysięgają na Dojo lub ExtJS. Może się zdarzyć, że będziesz chciał użyć jQuery, ale wymagania mogą nakazać użycie ExtJS.

Wszystko powiedziane. Użyj jQuery. jQuery rządzi;)


0

Django tak naprawdę nie łączy się ze stroną klienta. Użyj tego, z czym czujesz się komfortowo. Django gra dobrze ze wszystkim w tym obszarze, ponieważ po prostu piszesz to w szablonach.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.