【发布时间】:2021-06-10 18:03:55
【问题描述】:
代码:urls.py
path('tools/<int:rate>/', ToolsView.as_view(), name="get-all-tools"),
path('tools/post/', ToolsView.as_view(), name="save-tool"),
代码:views.py
class ToolsView(APIView):
def get(self, request, rate):
objs = ToolsModel.objects.values_list()[:rate]
if objs is None:
return Response(status=status.HTTP_404_NOT_FOUND)
data = []
for obj in objs:
print(obj)
json = {}
json['toolid'] = obj[0]
json['tool_name'] = obj[1]
json['tool_from'] = obj[2]
json['tool_qty'] = obj[3]
json['tool_state'] = obj[4]
data.append(json)
return Response(data=data, status=status.HTTP_200_OK)
def post(self, request):
data = request.data
serialize = ToolsSerializer(data=data)
if serialize.is_valid():
serialize.save()
return Response(status=status.HTTP_201_CREATED)
return Response(status=status.HTTP_404_NOT_FOUND)
每当我调用tools/post/ 意在调用post 方法时
我明白了
get() 缺少 1 个必需的位置参数:'rate'
但是'tools/<int:rate>/'实际上需要rate参数,它调用我的get方法,例如,
在这些方面需要帮助。提前致谢!
【问题讨论】:
标签: django rest django-rest-framework django-views