【问题标题】:What is the best AJAX library for Django? [closed]Django 最好的 AJAX 库是什么? [关闭]
【发布时间】:2010-10-05 10:33:27
【问题描述】:

哪个 AJAX 库最适合 django,为什么?
寻找一个拥有大量教程、书籍和详细文档数据库的人。
哪一个最容易使用? 哪一个处于早期开发阶段,但未来前景广阔?

问候,
克里斯

【问题讨论】:

  • 已将问题的标题更改为更相关的内容。
  • 如果这是关于 javascript 库(prototypejs、jquery、dojo...)或 Django/Python 库(dajax...)的问题,最好澄清一下
  • 似乎这里的答案现在已被高度弃用,因为 Django REST FrameworkTastypie 等框架似乎更活跃,现在受到大多数开发人员的青睐,而其他人似乎对框架有问题目前维护较少(例如Dajax)。

标签: ajax django


【解决方案1】:

结帐Dajax:

Dajax 项目

易于使用的 Django AJAX 库

快速、简单且轻量级的库 在你的 django 中实现 AJAX 项目。 5 分钟后即可使用。

Dajax 是一个强大的工具,可以轻松地 超快速开发异步 Web 应用程序中的表示逻辑 使用 python 几乎没有 JS 行 源代码。

它最多支持四个 流行的 JS 框架:原型, jQuery、Dojo 和 mootols。

【讨论】:

  • 发布此答案后,我注意到有人已经提到了 Dajax,但该答案并未描述图书馆提供的内容(并且无法评论)
  • 如果你查看 Github 自述文件,你会发现“我应该使用 django-dajax 还是 django-dajaxice?总之,不。我在 4 年前创建了这些项目作为一个很酷的工具来解决我当时遇到的一个具体问题。现在使用这些项目是个坏主意。”
【解决方案2】:

我想这可能是你要找的东西:django-dajax

相当有据可查。简单的api。非常干净漂亮。我计划在我的一些项目中更多地使用它。它与 JS 库无关,如果您愿意,它可以与 jQuery 配合使用。

更新:

其他类似于 dajaxice 的解决方案,但不是标准的 dajax。

最后,它们的工作原理大致相同。

  • 定义/包含一些预定义的 URL 路由。
  • 注册将用作数据源的模型/视图/函数。
  • 享受吧。

UDATE2:

这个建议很老了。或许应该研究其他解决方案。

【讨论】:

  • 我很惊讶这没有得到投票。看起来很棒。现在开始潜水。
  • 现在已经过去了 1.5 年,从那时起该项目似乎没有太多更新。这仍然是一个好的建议吗?
  • @TimSaylor 如果这是您正在寻找的解决方案,我想说 DajaxIce 仍然是一个非常可靠的库:一种创建可以在 javascript 中使用的任意 ajax 端点的简单方法。我个人不会使用常规的 Dajax 库,因为您最终会在视图函数中编写大量演示代码。也就是说,有大量可靠的库可用于从您的模型(或其他任意数据)自动创建 RESTful 端点。 (我会用链接更新我的答案)。
  • 在 django 中实现 ajax 的超级库
  • Dajax 的 Github 页面 现在 显示 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
【解决方案3】:

如果您需要在 django 项目中使用 AJAX,只需很少的设置且易于使用,我的建议是:

django-ajax (Github, Pypi)

用于 django 项目的快速、灵活且易于使用的 AJAX 库。包含 ajax 装饰器、ajax 中间件、快捷方式等。

【讨论】:

    【解决方案4】:

    我强烈推荐jQuery。有几个关于如何实现它的教程。

    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

    注意: 微软不久前还宣布 jQuery 将成为 ASP.NET MVC 的官方客户端框架,因此无论您使用什么服务器端框架,了解它都很好。

    【讨论】:

    • 注意:前两个链接不再起作用。
    • 链接似乎重新上线了。
    • 顺便说一句,永远不要像第三个链接中那样构造像 "{'response_text': '"+post_text+" recieved.'}" 这样的 JSON 响应。导入jsonsimplejson 并使用dumps
    • 虽然 jQuery 很棒,但遗憾的是,Django 并没有与它的表单或视图显式集成(管理员之外)。
    • 最后一个链接失效了。
    【解决方案5】:

    还请记住,最新的 Django 书籍(Python Web Development with DjangoLearning Website Dev with Django)在其教程中使用 jQuery。

    【讨论】:

      【解决方案6】:

      我已经在不同的 django 项目中成功使用了 jquery、YUI 和 Dojo。没有什么能让它更好地与 django 一起使用。我同意 jpartogy 的观点,即 mochikit 可能比其他任何人都更适合 django,这仅仅是因为“pythonic”(类似扭曲的)API。这实际上取决于您在 ajax 框架中寻找什么。

      我个人喜欢 jQuery 对给定数量的代码所做的事情,但编写 jQuery 代码的最大挑战是使其可读。

      YUI 比其他框架更加冗长,因为它设置了使用命名空间的约定,但是有一些快捷方式可以减少编写代码,并且避免试图让 javascript 看起来像别的东西。

      Dojo 试图让 javascript 看起来像 Java,但根据我的经验,它的速度非常慢。它有一些不错的小部件和 django 模板语言的 javascript 实现(即使在 django 项目之外也非常有用)。

      我个人避免使用原型和 mootools,因为它们会破坏其他 javascript 代码(反之亦然)。

      如果您不熟悉 javascript 和 ajax,我会推荐 jQuery,因为它最容易上手。但我不希望任何 js 框架与 django 集成,主要是因为确实没有必要。

      【讨论】:

        【解决方案7】:

        好吧,这可能是主观的,因为“最佳”的定义可能对每个人都有不同的含义。但是由于您使用的是 Django,这意味着您将掌握 Python 语法。 Mochikit 是一个著名的不会暴露太多的 Javascript 库。它的好处是它具有 Python 程序员熟悉的语法(因为创建者是 Python 程序员)。它也很好地写下了文档。 TurboGears 开箱即用支持 Mochikit。

        【讨论】:

          【解决方案8】:

          Django 并没有真正与客户端绑定。使用任何你觉得舒服的东西。 Django 可以很好地处理该领域的所有内容,因为您只需在模板中编写即可。

          【讨论】:

            【解决方案9】:

            “最佳 AJAX 库”这个词是高度主观的,取决于个人喜好、现有知识、工作要求等。

            虽然我(几乎)在所有方面都更喜欢 jQuery,但我知道有些人对 Dojo 或 ExtJS 发誓。在某些情况下,您可能想使用 jQuery,但可能要求您使用 ExtJS。

            都说了。使用 jQuery。 jQuery 摇滚 ;)

            【讨论】:

              【解决方案10】:

              Django 并没有让任何库更容易或更好地与框架一起工作。只需使用最适合您大脑的那个即可。

              话虽如此,我的感觉是 jQuery 在 Django 世界中更受欢迎,并且是我个人使用的。最值得注意的是,Pinax 中的许多应用程序都需要 jQuery。其他一些用于 Django 的共享应用和代码 sn-ps:

              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/

              【讨论】:

                【解决方案11】:

                +1 给 Soviut 和 Daniel 以获得好的答案。 Jquery 是一个不错的框架。除了 Pinax 之外,还有几个“大”的 Django 应用程序使用它:SatchmoReview Board(从另一个框架切换... mootools IIRC)。

                在不使用任何框架(例如 Django admin)的情况下滚动您自己的 Javascript 也很受欢迎。

                我可能提出的唯一其他建议是,如果您是一个非常有经验的 Pythonhead,那么您可能会喜欢mochikit,因为它过于“pythonic”而受到一些批评。 它似乎是 Turbogears 的首选框架,但我个人还没有看到任何 Django 项目使用它。

                【讨论】:

                • 很好的答案,除了关于滚动你自己的 JS 的短语。我不会称之为流行,除了 Django 管理员之外,我还没有在 Django 应用程序中看到它,我建议不要这样做。当你不需要的时候,为什么要把头撞在砖墙上呢?如果已删除,请在此处 +1。
                • 好吧,我并不是说这是个好主意 :) 我的 javascript 很弱,我没有选择,所以我使用 jquery。我提到它是因为我在 djangosites.com 上对列表顶部的 4-5 个站点进行了调查,发现它们都使用自定义 js。
                • 事实上,即使是 Django 管理员也正在切换到 JQuery:code.djangoproject.com/changeset/12297
                猜你喜欢
                • 2011-04-07
                • 1970-01-01
                • 2010-09-20
                • 2011-10-09
                • 1970-01-01
                • 2010-09-15
                • 2011-03-22
                • 2010-10-02
                • 2010-09-08
                相关资源
                最近更新 更多