Python 如何使用django测试客户端设置“不执行”csrf检查

Python 如何使用django测试客户端设置“不执行”csrf检查,python,django,csrf,Python,Django,Csrf,我试图在使用django测试客户端的更高级别集成测试期间强制执行csrf检查,但我不确定如何手动翻转此位(在调用客户端之前) 以下是我目前失败的地方(我得到的是201而不是下面的403) 我最终得到了这个解决方案,首先必须设置csrf令牌,然后在手动新建客户端时需要翻转强制csrf检查 def test_should_get_403_when_csrf_enforced(self): self.client = test.Client(enforce_csrf_checks=True)

我试图在使用django测试客户端的更高级别集成测试期间强制执行csrf检查,但我不确定如何手动翻转此位(在调用客户端之前)

以下是我目前失败的地方(我得到的是201而不是下面的403)


我最终得到了这个解决方案,首先必须设置csrf令牌,然后在手动新建客户端时需要翻转强制csrf检查

def test_should_get_403_when_csrf_enforced(self):
    self.client = test.Client(enforce_csrf_checks=True)
    self.client.cookies[settings.CSRF_COOKIE_NAME] = 'asdf'                                                  
    response = self.client.post(url, {'name': 'foobar'})
    self.assertEqual(403, response.status_code)
def test_should_get_403_when_csrf_enforced(self):
    self.client = test.Client(enforce_csrf_checks=True)
    self.client.cookies[settings.CSRF_COOKIE_NAME] = 'asdf'                                                  
    response = self.client.post(url, {'name': 'foobar'})
    self.assertEqual(403, response.status_code)