首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Django中获取Api身体参数

如何在Django中获取Api身体参数
EN

Stack Overflow用户
提问于 2019-02-18 10:02:59
回答 3查看 2.6K关注 0票数 1

我想在我的视图中获得api body参数。我要应用搜索过滤器。我正在使用self.request.GET.get('query'),但它总是给none。我如何从邮递员那里得到身体参数,我在身体中发送query:Active。但我不明白

代码语言:javascript
运行
复制
class JobsListAPIView(generics.ListAPIView):
    serializer_class = JobListSerialzer
    # pagination_class = ListLimitOffsetPagination
    permission_classes = [UserIsAuthenticated]

    def get_queryset(self, *args, **kwargs):
        # print('self.request.auth', self.request.auth.application.user.userprofile.user_company.id)

        qs = Jobs.objects.exclude(job_is_deleted = True).filter(
            job_company = self.request.auth.application.company
        )

        query = self.request.GET.get('query')
        print('query: ', request.data)

        if query:
            qs = qs.filter(job_status=query)

        return qs
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-18 10:54:51

您的实际问题似乎没有接受查询param(body data)。但你没有把它正确传递出去。您应该传递/your-url/?query=Active(替换: with = )。当您传递query:Active时,它将整个"query:Active“作为主体中的一个键。

票数 2
EN

Stack Overflow用户

发布于 2019-02-18 10:14:50

为了获得身体参数,我假设您使用POST方法来请求api。获取POST数据与self.request.POST.get('query')一样简单

票数 2
EN

Stack Overflow用户

发布于 2019-02-18 10:23:40

在纯Django中,获取主体内容的方法是使用request.POST,获得查询params的方法是使用request.GET。由于您似乎在使用Django rest框架视图,因此建议使用它的request.datarequest.query_params

假设邮递员发送的数据格式正确,那么在本例中,您可以使用:

代码语言:javascript
运行
复制
query = self.request.data.get("query")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54744678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档