Thư viện AJAX tốt nhất cho Django là gì? [đóng cửa]


108

Thư viện AJAX nào là tốt nhất cho django và tại sao?
Tìm kiếm một với cơ sở dữ liệu lớn gồm các hướng dẫn, sách và tài liệu chi tiết.
Cái nào dễ làm việc nhất? Cái nào đang trong giai đoạn phát triển sớm nhưng cho thấy nhiều hứa hẹn cho tương lai?

Trân trọng,
chriss


Thay đổi tiêu đề câu hỏi của bạn thành một cái gì đó phù hợp hơn.
mmcdole

4
Sẽ rất tốt nếu đây là một câu hỏi về thư viện javascript (prototypejs, jquery, dojo ...) hoặc thư viện Django / Python (dajax ...)
Steve Bennett

Có vẻ như các câu trả lời xung quanh đây hiện đang bị phản đối nhiều vì các khuôn khổ như Django REST FrameworkTastypie dường như hoạt động tích cực hơn và hiện được hầu hết các nhà phát triển ưa thích trong khi những người khác dường như đang gặp vấn đề với các khuôn khổ ít được duy trì tại thời điểm này (chẳng hạn như Dajax ).
Paul-Sebastian Manole

Câu trả lời:


70

Tôi thực sự khuyên bạn nên sử dụng jQuery . Có một số hướng dẫn về cách thực hiện nó.

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

LƯU Ý: Microsoft cũng đã thông báo một thời gian trước rằng jQuery sẽ là khuôn khổ phía máy khách chính thức cho ASP.NET MVC, vì vậy, thật tốt để biết bất kể bạn đang sử dụng khuôn khổ phía máy chủ nào.


Lưu ý: Hai liên kết đầu tiên không còn hoạt động.
Garrett Hyde

3
Các liên kết dường như đã trở lại trực tuyến.
Soviut

3
Tình cờ, đừng bao giờ tạo một phản hồi JSON giống "{'response_text': '"+post_text+" recieved.'}"như trong liên kết thứ ba. Nhập jsonhoặc simplejsonvà sử dụng dumps!
Flash

2
Mặc dù jQuery rất tuyệt vời, nhưng đáng buồn thay, Django không có tích hợp rõ ràng (bên ngoài quản trị viên) với các biểu mẫu hoặc chế độ xem của nó.
Cerin

2
Liên kết cuối cùng không hoạt động nữa.
svenwildermann

62

Tôi nghĩ đây có thể là thứ bạn đang tìm kiếm: django-dajax

Tài liệu khá tốt. Api đơn giản. Rất sạch sẽ và tốt đẹp. Tôi dự định sử dụng nó nhiều hơn trong một số dự án của mình. Đó là thư viện JS bất khả tri và hoạt động tốt với jQuery nếu đó là điều của bạn.

CẬP NHẬT:

Các giải pháp khác tương tự như dajaxice, nhưng không phải là dajax tiêu chuẩn.

Cuối cùng thì chúng hầu như hoạt động giống nhau.

  • Xác định / bao gồm một số tuyến URL được xác định trước.
  • Đăng ký các mô hình / khung nhìn / chức năng sẽ được sử dụng làm nguồn dữ liệu.
  • Thưởng thức.

UDATE2:

Lời khuyên này là siêu cũ. Có lẽ nên nghiên cứu các giải pháp khác.


2
Tôi ngạc nhiên vì điều này không nhận được phiếu bầu. Trông thật tuyệt. Đang lặn ngay.
Ben Keating

Bây giờ là 1,5 năm sau, và dự án có vẻ như không có nhiều bản cập nhật kể từ đó. Đây vẫn là một khuyến nghị tốt chứ?
Tim Saylor

@TimSaylor Tôi muốn nói DajaxIce vẫn là một thư viện khá vững chắc nếu đây là loại giải pháp bạn đang tìm kiếm: một cách đơn giản chết người để tạo các điểm cuối ajax tùy ý mà bạn có thể sử dụng trong javascript. Cá nhân tôi sẽ không sử dụng Dajax lib thông thường vì bạn phải viết rất nhiều mã trình bày trong các chức năng xem của mình. Điều đó nói rằng có rất nhiều thư viện rắn có sẵn để tạo các điểm cuối RESTful tự động từ các mô hình của bạn (hoặc dữ liệu tùy ý khác). (Tôi sẽ cập nhật câu trả lời của mình bằng các liên kết).
Derek Reynolds

siêu lib để thực hiện ajax trong django
Surya

1
Trang Github cho Dajax hiện cho biết 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
người dùng

16

Không có gì về Django làm cho bất kỳ thư viện nào dễ dàng hơn hoặc hoạt động tốt hơn với khuôn khổ. Chỉ cần sử dụng cái phù hợp với bộ não của bạn nhất.

Phải nói rằng, cảm giác của tôi là jQuery phổ biến hơn trong thế giới Django và là thứ mà cá nhân tôi sử dụng. Đáng chú ý nhất, nhiều ứng dụng trong Pinax yêu cầu jQuery. Một số ứng dụng được chia sẻ khác và đoạn mã cho 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

Thanh toán Dajax :

Dự án Dajax

Thư viện AJAX dễ sử dụng cho Django

Các thư viện nhanh, dễ dàng và nhẹ để triển khai AJAX bên trong các dự án django của bạn. Sẵn sàng sử dụng sau 5 phút.

Dajax là một công cụ mạnh mẽ để phát triển logic trình bày không đồng bộ một cách dễ dàng và siêu nhanh trong các ứng dụng web sử dụng python và hầu như không có dòng mã nguồn JS.

Nó hỗ trợ tối đa bốn trong số các khuôn khổ JS phổ biến nhất: Prototype, jQuery, Dojo và mootols.


Sau khi tôi đã gửi câu trả lời này tôi đã nhận thấy rằng ai đó đã đề cập Dajax, nhưng câu trả lời mà không mô tả những gì cung cấp thư viện (và không thể nhận xét nó)
denysonique

1
Và nếu bạn kiểm tra GIthub READMEs, bạn thấy "Tôi nên sử dụng django-dajax hay django-dajaxice? Nói một cách ngắn gọn, Không. Tôi đã tạo các dự án này 4 năm trước như một công cụ tuyệt vời để giải quyết một số vấn đề cụ thể mà tôi gặp phải vào thời điểm đó Ngày nay sử dụng những dự án này là một ý tưởng tồi. "
jwd630

4

Tôi đã sử dụng thành công jquery, YUI và Dojo trên các dự án django khác nhau. Không có gì về bất kỳ thứ gì khiến nó tốt hơn khi sử dụng với django cụ thể. Tôi đồng ý với jpartogy rằng mochikit có thể phù hợp với django hơn bất kỳ loại nào khác chỉ vì API "pythonic" (giống như xoắn). Nó thực sự phụ thuộc vào những gì bạn đang tìm kiếm trong một khuôn khổ ajax.

Cá nhân tôi thích những gì jQuery có thể làm với một lượng mã nhất định nhưng thách thức lớn nhất trong việc viết mã jQuery là làm cho nó có thể đọc được.

YUI dài dòng hơn nhiều so với các khung công tác khác vì nó đặt ra quy ước sử dụng không gian tên, nhưng có các phím tắt để viết ít mã hơn và nó tránh cố gắng làm cho javascript trông giống như một thứ khác.

Dojo cố gắng làm cho javascript giống Java và theo kinh nghiệm của tôi thì nó khá chậm. Nó có một số widget đẹp và triển khai javascript của ngôn ngữ tạo khuôn mẫu django (khá hữu ích ngay cả bên ngoài các dự án django).

Cá nhân tôi tránh nguyên mẫu và mootools vì chúng có thể phá vỡ mã javascript khác (hoặc ngược lại).

Nếu bạn chưa quen với javascript và ajax, tôi khuyên bạn nên sử dụng jQuery vì nó dễ bắt đầu nhất. Nhưng tôi không mong đợi bất kỳ khung js nào được tích hợp với django chủ yếu là vì thực sự không cần điều đó.


2

+1 cho Soviut và Daniel để có câu trả lời hay. Jquery là một khung công tác tốt. Ngoài Pinax, một vài ứng dụng Django "lớn" khác cũng sử dụng nó: SatchmoReview Board (chuyển từ một framework khác ... mootools IIRC).

Cũng phổ biến là sử dụng Javascript của riêng bạn mà không sử dụng bất kỳ khuôn khổ nào, ví dụ như quản trị viên Django.

Đề xuất khác duy nhất mà tôi có thể đưa ra là, nếu bạn là một Pythonhead rất kinh nghiệm, thì bạn có thể thích mochikit mà bị một số lời chỉ trích vì quá 'pythonic'. Nó có vẻ là khuôn khổ được lựa chọn cho Turbogears nhưng cá nhân tôi chưa thấy bất kỳ dự án Django nào sử dụng nó.


4
Câu trả lời tốt ngoại trừ cụm từ về việc cuộn JS của riêng bạn. Tôi sẽ không gọi nó là phổ biến, tôi chưa thấy nó trong các ứng dụng Django ngoài quản trị viên Django, và tôi khuyên bạn không nên dùng nó. Tại sao lại đập đầu vào tường gạch khi bạn không cần phải làm thế? +1 ở đây nếu điều đó bị xóa.
Carl Meyer

Chà, tôi không nói đó là một ý kiến ​​hay đâu :) Javascript của tôi yếu đến mức tôi không có sự lựa chọn nên tôi sử dụng jquery. Tôi đề cập đến nó bởi vì tôi đã thực hiện một cuộc khảo sát với 4-5 trang web ở đầu danh sách tại djangosites.com và thấy tất cả chúng đều sử dụng js tùy chỉnh.
Van Gale

Trên thực tế, ngay cả quản trị viên Django cũng đang chuyển sang JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor

1

Được rồi, điều này có thể là chủ quan vì định nghĩa 'tốt nhất' có thể có nghĩa khác nhau đối với mỗi cá nhân. Nhưng vì bạn đang làm việc với Django, điều đó có nghĩa là bạn sẽ gặp khó khăn với cú pháp Python. Một thư viện Javascript đáng chú ý mà không bị lộ quá nhiều là Mochikit . Điều tốt về nó là nó có cú pháp quen thuộc với lập trình viên Python (vì người tạo là một lập trình viên Python). Nó cũng có tài liệu viết ra khá độc đáo. TurboGears ngoài hộp hỗ trợ Mochikit.


1

Nếu bạn cần làm việc với AJAX trong các dự án django của mình với rất ít thiết lập và dễ sử dụng, đề nghị của tôi là:

django-ajax ( Github , Pypi )

Các thư viện AJAX nhanh, linh hoạt và dễ sử dụng cho các dự án django. Chứa trình trang trí ajax, phần mềm trung gian ajax, phím tắt và hơn thế nữa.


0

Cụm từ "Thư viện AJAX tốt nhất" mang tính chủ quan cao và phụ thuộc vào sở thích cá nhân, kiến ​​thức hiện có, yêu cầu của công việc, v.v.

Mặc dù tôi thích jQuery hơn cho (hầu hết) mọi thứ, nhưng tôi biết một số người luôn thề thốt bởi Dojo hoặc ExtJS. Có thể có trường hợp bạn muốn sử dụng jQuery nhưng các yêu cầu có thể quy định rằng bạn sử dụng ExtJS.

Tất cả đã nói. Sử dụng jQuery. đá jQuery;)


0

Django không thực sự gắn bó với phía khách hàng. Sử dụng bất cứ thứ gì bạn cảm thấy thoải mái. Django chơi tốt với mọi thứ trong lĩnh vực đó, bởi vì bạn chỉ cần viết nó trong các mẫu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.