Django中是否有像Wordpress一样的管理员ajax url?

时间:2016-11-25 19:25:54

标签: jquery ajax django wordpress

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

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

的网址
admin_url( 'admin-ajax.php' )

如果我进一步解释,那么它可能是 -

在Wordpress中,如果我使用AJAX中的URL,则会加载管理员ajax url,它会挂起一个动作来捕获请求。我想知道是否有一些已经实现为帮助库来处理Django中的管理员ajax调用

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

由于您是一名以WordPress为中心的开发人员,因此从WordPress / PHP跨越到Python将是一项挑战。但是,让我们看看我们是否可以帮助您入门。

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

您需要在服务器端执行的操作是:

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

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

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

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

路由 - 端点

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

验证

WordPress使用nonce。 Django你将使用csrf_token

处理

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

将其寄回

Django为您提供JSON,XML和YAML序列化程序。您可能会使用JSON。这将打包它以便返回。然后你可以把它寄回去。

一些帮助教程

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

以下是一些可以帮助您的教程: