如何从django rest框架Request获取django HttpRequest?

gro*_*der 11 python django django-rest-framework

我正在尝试使用django消息框架来显示以下消息ModelViewSet.create():

class DomainModelViewSet(ModelViewSet):
    def create(self, request):
        super(DomainModelViewSet, self).create(request)
        messages.success(self.request, "Domain Added.")
        return HttpResponseRedirect(reverse('home'))
Run Code Online (Sandbox Code Playgroud)

但我得到:

TypeError: add_message() argument must be an HttpRequest object, not 'Request'.
Run Code Online (Sandbox Code Playgroud)

那么,如何HttpRequest从django休息框架中使用Django Request呢?

gro*_*der 13

我通过源代码,在输入问题时找到了答案.

Django REST框架在属性中Request保留HttpRequest(或至少一个与django消息兼容)_request.所以,这有效:

messages.success(self.request._request, "Domain Added.")
Run Code Online (Sandbox Code Playgroud)

  • 它抛出``django.http.request.RawPostDataException:从请求的数据流读取后无法访问正文```` (2认同)