[英]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.