繁体   English   中英

如何将未知长度的多个参数从反应传递到 django url

[英]How to pass multiple parameters of unknown length from react to django url

我必须通过 Django URL 将多个参数传递给 Django 视图。我正在传递来自 React fetch 的值。参数列表是可变的。例如,有时可能是 2,有时可能是 3 或 4。 我有以下 urls.py 文件

path('getallvalues/<pk>',views.MultipleValueView.as_view())

视图.py

class MultipleValueView(APIView):
    def get(self,request,*args,**kwargs):
        serializer_class=ValueSerializer
        listofvalues=["test","test2"]
        return Response({"weights":getMultipleValueJourney(listofvalues)[0],"years":getMultipleValueJourney(listofvalues)[1]})



反应代码:

  fetch("http://127.0.0.1:8000/getallvalues/"+valueList)
        .then(response =>  response.json())
        .then(json => {
            var {years,weights}=this.state;
            this.setState({
              
              weights:json.weights,
              years:json.years,
              
              }}

我如何构建我的 urls.py 文件?我从 stackoverflow 看到了某些答案,但没有一个在我的场景中起作用。

将查询参数添加到前端的 fetch 调用中,然后在后端,您可以获取这些参数并根据它们进行过滤,例如

qp= self.request.GET.get('param_name')
if qp is not None:
    queryset = queryset.filter(some_condition)

通过这种方式,您不需要在 Django URL 中添加任何参数,或者如果您需要 DRF 文档中提到的更多内容,您可以查看 Django 过滤器包https://django-filter.readthedocs.io/en /稳定的/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM