thepoy 发表于 2019-11-30 11:04

谁知道有没有django开发者比较多的网站啊?

本帖最后由 thepoy 于 2019-11-30 12:46 编辑

遇到问题都不知道去哪提问,52破解的求助区不温不火,人很少啊。

顺便再提个问题:

在用rest_framework里的DestroyAPIView删除数据时,如果status=204,Response传入的data数据不能返回到前端,只能返回一个status。


```python
    def destroy(self, request, *args, **kwargs):
      name = request.data.get('name')
      try:
            instance = UserModel.objects.get(name=name)
            self.perform_destroy(instance)
            data = {
                'status': status.HTTP_204_NO_CONTENT,
                'msg': f'已删除用户 --> {name}',
            }
            print(data)
            # 如果status=204,delete后response不能返回data,只能返回一个204
                                                # 即使传入了一个data,也只返回状态码
            return Response(data=data, status=status.HTTP_204_NO_CONTENT)
      except UserModel.DoesNotExist:
            raise exceptions.NotFound(detail='未找到此用户')
```

RemMai 发表于 2019-11-30 11:23

返回 HttpResponse 不是 Response 谢谢.

废人Waterman 发表于 2019-11-30 11:24

没用过DRF,何不JsonResponse(data)看下返回正常着没

thepoy 发表于 2019-11-30 11:29

本帖最后由 thepoy 于 2019-11-30 11:32 编辑

废人Waterman 发表于 2019-11-30 11:24
没用过DRF,何不JsonResponse(data)看下返回正常着没
试过了,也只返回状态码,暂时不知道如何解决

thepoy 发表于 2019-11-30 11:31

RemMai 发表于 2019-11-30 11:23
返回 HttpResponse 不是 Response 谢谢.

这里面的Response是rest-framework继承HttpResponse后重构的

from rest_framework.response import Response

柒渊网络 发表于 2019-11-30 11:37

学习一下,

bei133 发表于 2019-11-30 11:46

感谢楼主

zgz3587 发表于 2019-11-30 12:54

学习了,:victory:

井右寺 发表于 2019-12-2 11:15

所以 不要用标准状态码了:lol
上次 做app,发现还不支持patch方法
整得我,强行把 所有PUT请求映射到了PATCH方法上
:Dweeqw而且国内目前好多的都说是restful,结果 大家都不支持标准。。。。
很多都只有 一个状态码200。基本都是 通过重写 响应方法,把 响应状态附加到响应体里面来说明 响应状态
还是很标准的嘛这种方案,虽然不 restful

thepoy 发表于 2019-12-2 12:33

井右寺 发表于 2019-12-2 11:15
所以 不要用标准状态码了
上次 做app,发现还不支持patch方法
整得我,强行把 所有PUT请求映射到了PA ...

发现204问题后,我也是这么想的,还是自己定状态码更简单
页: [1] 2
查看完整版本: 谁知道有没有django开发者比较多的网站啊?