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等等
应该是没有成功转成Json, 之后尝试使用APIClient.post成功解决这个问题!!!
然而:
在使用APIclient.get()的时候又出现了,Json loads报错的情况, 输出的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()进行转化