Django 单元测试 各种坑

Django 单元测试 + 新增user添加权限 - 简书

文件上传

DRF里面有APIClient可以很好地实现验证,然而在文件上传验证的时候出现request.FILE.get('file') 找不到key值的情况。

查看网上代码后 发现用Django的Client()能够避免这种情况, 然而本项目是需要验证的Client(),所以最后选择采用添加headers的方式来解决。


注意 表头验证一定要全部大写 必须加上HTTP_!!! 此外表头写在client.post()里面也可!


Json loads

本来想采用client+token的方式 然而json.loads(request.body.decode("utf8"))报错, print request.body后发现一大堆\r\n等等


request.body

应该是没有成功转成Json, 之后尝试使用APIClient.post成功解决这个问题!!!


然而:

在使用APIclient.get()的时候又出现了,Json loads报错的情况, 输出的request.GET如下图

pprint(request.GET)

于是乎我上网查了如何将data转化为Json, 结果使用json.dumps(data)后urlencode报错如下

最后发现只要json.dumps局部就好了……我太南了……

转化字典

Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法_Python_Mr.Yan的专栏-CSDN博客

将null替换后还是回报错

所以最后采用json.loads()进行转化

json.dumps()和json.loads() - 时间带着假象流淌 - 博客园

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容