Apa perpustakaan AJAX terbaik untuk Django? [Tutup]

108

Perpustakaan AJAX manakah yang terbaik untuk django dan mengapa?
Mencari satu dengan database besar tutorial, buku dan dokumentasi rinci.
Manakah yang paling mudah untuk dikerjakan? Manakah yang dalam perkembangan awal tetapi menunjukkan janji besar untuk masa depan?

Salam,
chriss

chriss
sumber
Mengubah judul pertanyaan Anda menjadi sesuatu yang lebih relevan.
mmcdole
4
Akan lebih baik untuk mengklarifikasi jika ini adalah pertanyaan tentang perpustakaan javascript (prototypejs, jquery, dojo ...) atau perpustakaan Django / Python (dajax ...)
Steve Bennett
Tampaknya jawaban di sekitar sini sekarang sangat usang karena kerangka kerja seperti Kerangka REST Django dan Tastypie tampaknya lebih aktif dan sekarang disukai oleh sebagian besar pengembang sementara yang lain tampaknya mengalami masalah dengan kerangka kerja yang kurang dipertahankan saat ini (seperti Dajax ).
Paul-Sebastian Manole

Jawaban:

70

Saya sangat merekomendasikan jQuery . Ada beberapa tutorial tentang bagaimana mengimplementasikannya.

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

CATATAN: Microsoft juga mengumumkan beberapa waktu lalu bahwa jQuery akan menjadi kerangka sisi klien resmi untuk ASP.NET MVC, jadi sebaiknya Anda mengetahui apa pun kerangka sisi server yang Anda gunakan.

Soviut
sumber
Catatan: Dua tautan pertama tidak lagi berfungsi.
Garrett Hyde
3
Tautan tersebut tampaknya kembali online.
Soviut
3
Kebetulan, jangan pernah membuat respons JSON seperti "{'response_text': '"+post_text+" recieved.'}"di link ketiga. Impor jsonatau simplejsondan gunakan dumps!
Flash
2
Meskipun jQuery fantastis, sayangnya, Django tidak memiliki integrasi eksplisit (di luar admin) dengan bentuk atau pandangannya.
Cerin
2
Tautan terakhir tidak berfungsi lagi.
svenwildermann
62

Saya rasa ini mungkin yang Anda cari: django-dajax

Didokumentasikan dengan cukup baik. Api sederhana. Sangat bersih dan menyenangkan. Saya berencana untuk menggunakannya lebih banyak di beberapa proyek saya. Ini adalah pustaka JS agnostik, dan bekerja dengan baik dengan jQuery jika itu yang Anda inginkan.

MEMPERBARUI:

Solusi lain mirip dengan dajaxice, tetapi tidak dajax standar.

Pada akhirnya mereka kebanyakan bekerja sama.

  • Tentukan / sertakan beberapa rute URL yang telah ditentukan sebelumnya.
  • Daftarkan model / tampilan / fungsi yang akan digunakan sebagai sumber data.
  • Nikmati.

UDATE2:

Nasihat ini sangat tua. Mungkin sebaiknya meneliti solusi lain.

Derek Reynolds
sumber
2
Saya terkejut ini tidak mendapatkan suara. Tampak hebat. Menyelam sekarang.
Ben Keating
Sudah 1,5 tahun kemudian, dan proyek sepertinya tidak memiliki banyak pembaruan sejak saat itu. Apakah ini masih merupakan rekomendasi yang bagus?
Tim Saylor
@TimSaylor Saya akan mengatakan DajaxIce masih merupakan perpustakaan yang cukup solid jika ini adalah jenis solusi yang Anda cari: cara sederhana yang mati untuk membuat titik akhir ajax sewenang-wenang yang dapat Anda konsumsi dalam javascript. Saya pribadi tidak akan menggunakan lib Dajax biasa karena Anda akhirnya menulis banyak kode presentasi di fungsi tampilan Anda. Yang mengatakan ada tanaman pustaka solid yang tersedia untuk membuat titik akhir RESTful secara otomatis dari model Anda (atau data arbitrer lainnya). (Saya akan memperbarui jawaban saya dengan tautan).
Derek Reynolds
super lib untuk mengimplementasikan ajax di django
Surya
1
Halaman Github untuk Dajax sekarang mengatakan Should 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
pengguna
16

Tidak ada tentang Django yang membuat pustaka mana pun lebih mudah atau bekerja lebih baik dengan kerangka kerja. Gunakan saja yang paling sesuai dengan otak Anda.

Karena itu, perasaan saya adalah bahwa jQuery lebih populer di dunia Django dan itulah yang saya gunakan secara pribadi. Terutama, banyak aplikasi di Pinax membutuhkan jQuery. Beberapa aplikasi dan potongan kode bersama lainnya untuk 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
sumber
7

Lihat Dajax :

Proyek Dajax

Pustaka AJAX yang mudah digunakan untuk Django

Pustaka yang cepat, mudah dan ringan untuk mengimplementasikan AJAX di dalam proyek django Anda. Siap digunakan dalam 5 menit.

Dajax adalah alat yang ampuh untuk mengembangkan logika presentasi asinkron dengan mudah dan super cepat dalam aplikasi web menggunakan python dan hampir tidak ada baris kode sumber JS.

Ini mendukung hingga empat kerangka kerja JS paling populer: Prototipe, jQuery, Dojo, dan mootols.

denysonique
sumber
Setelah saya memposting jawaban ini, saya perhatikan bahwa seseorang telah menyebutkan Dajax, tetapi jawaban itu tidak menjelaskan apa yang ditawarkan perpustakaan (dan tidak dapat berkomentar)
denysonique
1
Dan jika Anda memeriksa README Github, Anda akan menemukan "Haruskah saya menggunakan django-dajax atau django-dajaxice? Singkatnya, Tidak. Saya membuat proyek ini 4 tahun yang lalu sebagai alat yang keren untuk memecahkan satu masalah spesifik yang saya alami saat itu . Akhir-akhir ini menggunakan proyek ini adalah ide yang buruk. "
jwd630
4

Saya telah berhasil menggunakan jquery, YUI dan Dojo pada proyek django yang berbeda. Tidak ada hal lain yang membuatnya lebih baik untuk digunakan dengan django secara khusus. Saya setuju dengan jpartogy bahwa mochikit mungkin lebih cocok dengan django daripada yang lain hanya karena API "pythonic" (twisted-like). Itu sangat tergantung pada apa yang Anda cari dalam kerangka ajax.

Secara pribadi saya suka apa yang dapat dilakukan jQuery dengan jumlah kode tertentu tetapi tantangan terbesar dalam menulis kode jQuery adalah membuatnya dapat dibaca.

YUI jauh lebih bertele-tele daripada framework lain karena YUI menetapkan konvensi untuk menggunakan namespace, tetapi ada pintasan untuk menulis lebih sedikit kode dan menghindari mencoba membuat javascript terlihat seperti yang lain.

Dojo mencoba membuat tampilan javascript seperti Java dan menurut pengalaman saya cukup lambat. Ia memiliki beberapa widget bagus dan implementasi javascript dari bahasa templating django (yang sangat berguna bahkan di luar proyek django).

Saya pribadi menghindari prototipe dan mootool karena dapat merusak kode javascript lain (atau sebaliknya).

Jika Anda baru mengenal javascript dan ajax, saya akan merekomendasikan jQuery karena ini yang paling mudah untuk memulai. Tapi saya tidak berharap ada js framework yang diintegrasikan dengan django terutama karena sebenarnya tidak perlu untuk itu.

Vasil
sumber
2

+1 untuk Soviut dan Daniel untuk jawaban yang bagus. Jquery adalah kerangka kerja yang bagus. Selain Pinax, beberapa aplikasi Django "besar" lainnya menggunakannya: Satchmo dan Review Board (yang beralih dari kerangka lain ... mootools IIRC).

Juga populer adalah menggulirkan Javascript Anda sendiri tanpa menggunakan kerangka kerja apapun, misalnya admin Django.

Satu-satunya saran lain yang mungkin saya buat adalah, jika Anda adalah Pythonhead yang sangat berpengalaman, maka Anda mungkin menyukai mochikit yang mendapat kritik karena terlalu 'pythonic'. Tampaknya menjadi kerangka pilihan untuk Turbogears tetapi saya pribadi belum melihat proyek Django yang menggunakannya.

Van Gale
sumber
4
Jawaban bagus kecuali frasa tentang menggulirkan JS Anda sendiri. Saya tidak akan menyebutnya populer, saya belum melihatnya di aplikasi Django selain admin Django, dan saya merekomendasikan untuk tidak melakukannya. Mengapa membenturkan kepala Anda ke dinding bata ketika Anda tidak perlu melakukannya? +1 di sini jika sudah dihapus.
Carl Meyer
Yah, saya tidak mengatakan itu ide yang bagus :) Javascript saya cukup lemah sehingga saya tidak punya pilihan jadi saya menggunakan jquery. Saya menyebutkannya karena saya melakukan survei terhadap 4-5 situs di bagian atas daftar di djangosites.com dan menemukan semuanya menggunakan js kustom.
Van Gale
Nyatanya bahkan admin Django beralih ke JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor
1

Oke ini mungkin subjektif karena definisi 'terbaik' bisa berarti berbeda-beda untuk setiap individu. Tetapi karena anda bekerja dengan Django, itu berarti anda akan mengerti dengan sintaks Python. Salah satu pustaka Javascript terkenal yang tidak terlalu banyak diekspos adalah Mochikit . Hal yang baik tentang itu adalah sintaks yang akrab bagi programmer Python (karena pembuatnya adalah programmer Python). Ini memiliki dokumentasi yang ditulis dengan cukup baik juga. TurboGears out-of-the-box mendukung Mochikit.

Joshua Partogi
sumber
1

Jika Anda perlu bekerja dengan AJAX dalam proyek django Anda dengan pengaturan yang sangat sedikit dan mudah digunakan, penawaran saya adalah:

django-ajax ( Github , Pypi )

Pustaka AJAX yang cepat, fleksibel dan mudah digunakan untuk proyek django. Berisi dekorator ajax, middleware ajax, pintasan, dan lainnya.

yceruto
sumber
0

Frasa "Perpustakaan AJAX Terbaik" sangat subjektif dan bergantung pada preferensi pribadi, pengetahuan yang ada, persyaratan pekerjaan, dll.

Sementara saya lebih suka jQuery untuk (hampir) semuanya, saya tahu beberapa orang yang bersumpah dengan Dojo atau ExtJS. Mungkin ada kasus di mana Anda ingin menggunakan jQuery tetapi persyaratan mungkin menentukan bahwa Anda menggunakan ExtJS.

Semua berkata. Gunakan jQuery. jQuery batu;)

Mir Nazim
sumber
0

Django tidak terlalu terikat dengan sisi klien. Gunakan apa pun yang Anda rasa nyaman. Django bermain baik dengan segala sesuatu di area itu, karena Anda hanya menulisnya di templat.

sebnow
sumber