【问题标题】:Is there any admin ajax url in Django like Wordpress?Django 中是否有像 Wordpress 这样的管理 ajax url?
【发布时间】:2016-11-25 19:25:54
【问题描述】:

基本上,我是一名 Wordpress 开发人员。当我在 Wordpress 中发出 ajax 请求时,将 wp-admin ajax 与请求挂钩。

我是Django 的新手。 Django 是否有任何用于后端实现的帮助程序库,通过它可以连接 ajax 请求。 Wordpress 使用以下代码为 $.ajax-

生成 url
admin_url( 'admin-ajax.php' )

如果我再解释一下,那可能是-

在 Wordpress 中,如果我使用 AJAX 中的 URL,则会加载 admin ajax url,它会连接一个动作来捕获请求。我想知道在Django中是否已经实现了一些作为帮助程序库来处理管理ajax调用的东西@

这只是我的好奇心,Django 有这样的东西?

谢谢!

【问题讨论】:

    标签: jquery ajax django wordpress


    【解决方案1】:

    网站可以处理AJAX 请求,包括使用 Python 和 Django 构建的请求。

    由于您是一位以 WordPress 为中心的开发人员,因此从 WordPress/PHP 过渡到 Python 将具有挑战性。不过,让我们看看我们是否可以帮助您入门。

    jQuery 或 JavaScript 的 AJAX 处理不关心服务器端运行的是什么语言或框架/应用程序/库。它打包数据集,配置它想要返回的内容,然后将其发送到服务器上的端点。

    你需要在服务器端做的就是处理:

    • 路由
    • 验证
    • 请求处理
    • 返回一个序列化的数据包

    免责声明:您似乎在谈论非 RESTful WordPress 实施。因此,我将使用这种方法进行比较。

    WordPress 为您处理路由。您将请求指向管理 URL 的端点。然后将处理回调注册到事件名称wp_ajax_{your-action}。该操作在您发送到服务器的 AJAX 数据包中定义。接下来,您使用 nonce 检查进行验证。然后运行代码来处理请求,构建任何 HTML,通过 JSON 序列化程序将其传递,并将其发送回浏览器。

    让我们为您将 WordPress 与 Django 联系起来:

    路由 - 端点

    在 Django 中,您需要声明端点,以便它知道谁来执行路由。然后,您可以在 AJAX 请求中使用该端点。这是您在 WordPress 中不做的额外步骤。

    验证

    WordPress 使用随机数。 Django 你将使用csrf_token

    处理

    您用 Python 编写代码来处理请求。用 PHP 编写的 WordPress。

    寄回

    Django 为您提供 JSON、XML 和 YAML 序列化程序。您可能会使用JSON。这会将其打包以备退货。然后你就可以寄回去了。

    一些帮助教程

    您找不到任何可以将 WordPress 的实现转换为 Python 或 Django 的方法。相反,您需要先了解 AJAX,以确保您了解它的工作原理和要求。然后你就可以开始在 Django 中构建一个测试了。

    这里有一些教程可以帮助你:

    【讨论】:

    • 您好,感谢您的回答。你真懂我。我对 ajax 请求中的 URL 分布感到困惑。 Ajax 调用过程不因平台而异。当我们发出 ajax 请求时,问题是我们真正在哪里发送请求。在 Wordpress 中,他们通过 wp-admin ajax 处理。所以我很困惑我该怎么做。从您给定的第一个链接中,可以很好地描述该问题。因此,当我们访问网站页面时,请求 URL 将与我们通过 ajax 发出请求时相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多