【问题标题】:How to set request.body in django Request factory post request?如何在 django Request 工厂发布请求中设置 request.body?
【发布时间】:2016-10-14 10:43:32
【问题描述】:

尝试将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

谁能帮我解决这个问题?

【问题讨论】:

    标签: python django unit-testing


    【解决方案1】:

    基于this answer,试试这个:

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

    【讨论】:

    • 在我们的代码库中,我必须重写 _mutable 并手动设置它。目前没有其他明显的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2021-09-03
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多