Python 在django中发送json请求时发出

Python 在django中发送json请求时发出,python,json,django,django-views,Python,Json,Django,Django Views,我正在从事一个项目,我想将SynapseFi api调用合并到我的django项目中。查看他们的文档,他们要求提供一些参数,我已将这些参数添加到django函数/方法中,该函数/方法被调用以向eh api发送请求并接收响应。我不知道在哪里,但我不能让它工作,我一直在努力找出这几天。也许这里有人能帮忙。。我将添加文档部分和我到目前为止拥有的内容 文档 以下内容将添加到请求的标头中 POST /v3.1/users HTTP/1.1 Host: uat-api.synapsefi.com X-SP-

我正在从事一个项目,我想将SynapseFi api调用合并到我的django项目中。查看他们的文档,他们要求提供一些参数,我已将这些参数添加到django函数/方法中,该函数/方法被调用以向eh api发送请求并接收响应。我不知道在哪里,但我不能让它工作,我一直在努力找出这几天。也许这里有人能帮忙。。我将添加文档部分和我到目前为止拥有的内容

文档 以下内容将添加到请求的标头中

POST /v3.1/users HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267
X-SP-USER-IP: 127.0.0.1
X-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json
这是一个示例对象,将与响应一起传递

{
  "logins": [
    {
      "email": "test@synapsepay.com"
    }
  ],
  "phone_numbers": [
    "901.111.1111",
    "test@synapsepay.com"
  ],
  "legal_names": [
    "Test User"
  ],
  "extra": {
    "supp_id": "122eddfgbeafrfvbbb",
    "cip_tag":1,
    "is_business": false
  }
}
*我的代码*

这就是我在一个函数中所做的,它将从一个方法调用

标头与主url和有效负载一起进入请求标头

是否有一种方法可以永久性地在头中设置键值对一次,并将它们保留在那里,而不必在每个请求头中添加它们

url = 'uat-api.synapsefi.com'
headers = {
    'X-SP-GATEWAY' : client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv,
    'X-SP-USER-IP' : 127.0.0.1,
    'X-SP-USER' : | 'ge85a41v8e16v1a618gea164g65',
    'Contant-Type' : application/json,
}
payload = {
    "logins":[
        {
            "email":"test@test.com
        }
    ],
    "phone_numbers":[
        "123.456.7890",
        "test@test.com",
    ],
    "legal_names":[
        "Test name",
    ],
    "extras":{
        "supp_id":"asdfe515641e56wg",
        "cip_tag":12,
        "is_business":false,
    }
}

call = requests.post(url, data=json.dumps(payload), headers=headers)
print(call)
return call
我在第行遇到语法错误:

'X-SP-GATEWAY' : client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv,

我只想发送一个有效的测试请求

字符串值需要用引号括起来:

headers = {
    'X-SP-GATEWAY' : 'client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv'
    'X-SP-USER-IP' : '127.0.0.1',
    'X-SP-USER' : 'ge85a41v8e16v1a618gea164g65',
    'Content-Type' : 'application/json',

}

我解决了这个问题,但现在我收到一个错误,说请求中没有定义json…必须正确导入json。。。