如何将多个未知长度的参数从react传递到Django url

2024-09-28 17:01:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

views.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,
              
              }}

我如何构造我的URL.py文件?我从stackoverflow中看到了一些答案,但在我的场景中没有一个是有效的


Tags: 文件djangopyjsonurl参数fetchviews
1条回答
网友
1楼 · 发布于 2024-09-28 17:01:02

在前端将查询参数添加到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/stable/

相关问题 更多 >