Django:通过表单将发布请求发送到另一台服务器

时间:2019-04-03 16:42:58

标签: django post

我在domain1的模板上有一个表单,想向domain2发送POST请求。我正在使用Django作为框架。我只希望domain2接受来自domain1和domain2(本身)的请求。但是,我遇到了csrf问题。

1 个答案:

答案 0 :(得分:1)

您需要一个RESTful API。这是一个非常大的主题,使用我得到的信息在这里为您完成工作是愚蠢/不可能的,所以这里是一个摘要。

我建议使用Django Rest Framework来制作api。

上面的意思是,当您想要执行此类操作(来自其他域的POST请求)时,您需要一个令牌。这通常是通过 Json Web令牌完成的。 也称为 JWT的

过程如下:

  1. 从其他站点获取访问令牌,以有权使用该站点的API。每次交换数据时,某些http标头,密码等通常都包含在其中。
  2. 获得响应后,您便可以使用所需的数据执行所需的请求类型。

所有这些的数据格式通常都是使用JSON完成的。因此,您必须先导入json,然后导入json.dumps(obj)才能将其转换为有效的json,然后导入json.loads(obj)来将响应转换为python字典,以便可以在模板中或任何需要的地方使用它。

如果您想看一个例子,我最近在我的guthub上做了一个free GoFundMe clone。在底部的donate()视图中,它使用了请求库,并显示了如何获取和使用JWT。您可以在那里看到它。