Python APIClient.enforce_csrf_检查和APIClient.handler.enforce_csrf_检查有什么区别
我注意到当我创建一个处理程序时Python APIClient.enforce_csrf_检查和APIClient.handler.enforce_csrf_检查有什么区别,python,unit-testing,django-rest-framework,Python,Unit Testing,Django Rest Framework,我注意到当我创建一个处理程序时 newClient = APIClient(enforce_csrf_checks=True) 那 但是 有什么区别?我问这个问题是因为我有一个现有的API客户端,我想知道其中的区别: class ModifyTest(APITestCase): def setUp(self): self.client.enforce_csrf_checks = True # Do this? self.client.h
newClient = APIClient(enforce_csrf_checks=True)
那
但是
有什么区别?我问这个问题是因为我有一个现有的API客户端,我想知道其中的区别:
class ModifyTest(APITestCase):
def setUp(self):
self.client.enforce_csrf_checks = True # Do this?
self.client.handler.enforce_csrf_checks = True # Or Do this?
当您初始化
APIClient
时,值为enforce_csrf_checks
()。这就是client.handler
的含义,也是在您的案例中client.handler.enforce\u csrf\u检查为True
的原因
它看起来像客户端。强制执行csrf\u检查
优于客户端。处理程序。强制执行csrf\u检查
,但如果需要,它会后退。感谢您的输入!
newClient.handler.enforce_csrf_checks = True
class ModifyTest(APITestCase):
def setUp(self):
self.client.enforce_csrf_checks = True # Do this?
self.client.handler.enforce_csrf_checks = True # Or Do this?