如何使用django创建自定义窗口小部件以在外部站点上使用

时间:2017-10-04 08:48:41

标签: python django api-design

我有一个我正在研究的新网站。该网站将事先与电子商务网站达成协议,在其网站上添加附加组件。

考虑以下示例: 我的网站ABC.com以电子商务网站为目标。 对于每个销售产品X的电子商务网站,我希望它们包含一个附加组件,让买家可以选择购买服务Z,如果他们愿意的话。 ABC.com将通过REST API与电子商务网站进行通信。

我的挑战是如何将我的服务作为插件集成到外部电子商务网站中。我假设这将是一个小部件,HTML代码或一些JavaScript的形式。类似于Amazon.com的附件图片。我的目标是与外部网站进行简单的集成,以避免他们为此做太多。

有关于如何处理此问题的最佳做法吗?

查看亚马逊的示例:enter image description here

1 个答案:

答案 0 :(得分:1)

有很多种方法,但最常见的两种方法是:

<强> IFRAME

您创建了一个小页面,其中仅包含您需要的控件和逻辑,这些控件和逻辑将使用iframe嵌入到站点中。父网站将通过iframe的src属性中的URL参数与子iframe通信相关详细信息(例如产品名称和产品SKU)。在这种情况下,您不会知道用户是否实际提交了父表单。

Javascript小部件

您创建了一个可以从CDN加载的小型自包含javascript小部件。然后,窗口小部件将定位页面上的特定元素或元素,并添加其他表单字段。然后它可以监听表单提交事件(或其他类型的事件),并可能负责直接向您的API执行AJAX调用。

例如Stripe等小工具可以在页面上生成购买按钮。