为 Django 测试发出添加请求 headers

Issue adding request headers for Django Tests

我需要向 Django 测试中的请求添加 header。根据各种建议,我在 Stack Overflow 和其他地方浏览了几页。我可以将 header 成功添加到 PUT 和 GET,但是 POST 有问题。任何建议将不胜感激。

对于 PUT 和 GET,我使用了以下 [通过成功]:

resp = self.client.put(resource_url, res_params, **{'HTTP_SSL_CLIENT_CERT': self.client_cert})

对于 POST,我尝试了同样的操作但收到错误消息: “'str' object 没有属性 'items'”

我试过以下方法:

resp = self.client.post(resource_url, res_params, **{'HTTP_SSL_CLIENT_CERT': self.client_cert})

resp = self.client.post(resource_url, res_params, HTTP_SSL_CLIENT_CERT=self.client_cert)

resp = self.client.post(resource_url, res_params, HTTP_SSL_CLIENT_CERT='1234567890')

对于发现自己在查看此页面时遇到类似问题的任何人,我能够通过以下方式解决此问题:

resp = self.client.post(resource_url, data=res_params, content_type='application/json', HTTP_SSL_CLIENT_CERT=self.client_cert)