如何在Django请求工厂的POST请求中设置request.body?

8

尝试在 Python 单元测试中设置请求正文(request.body):

        self.factory = RequestFactory()
        self.request = self.factory.get(reverse('get_associations'))
        self.request.user = self.auth_user
        self.request.body = json.dumps(self.post_data)

但是它报错了:
self.request.body = json.dumps(self.post_data)
AttributeError: can't set attribute

有人能帮我修复这个问题吗?

1个回答

17

参考这个答案,试一试这个:

self.request = self.factory.get(reverse('get_associations'),
                                data=json.dumps(self.post_data),
                                content_type='application/json')

在我们的代码库中,我不得不覆盖 _mutable 并手动设置它。目前没有其他明显的解决方案。 - RobotHumans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接