如何解决从路径变量 url Django 中获取 id
我希望我的端点像 api/units/:id
以便将 id 作为路径变量传递
我写了以下代码
urlpatterns:
path('api/units/',UnitDetailsView.as_view())
views.py
class UnitDetailsView(APIView):
http_method_names = ['get']
permission_classes = (permissions.AllowAny,)
serializer_class = UnitDetailsSerializer
def get(self,request,id_unit):
unit = Unit.objects.get(id=id_unit)
return JsonResponse({
'id': unit.id,},status=200)
然而,这是一个 500 错误,因为它没有将路径变量识别为 id_unit
TypeError: get() missing 1 required positional argument: 'id_unit'
解决方法
urlpatterns:
path('api/units/<int:id_unit>',UnitDetailsView.as_view())
,
网址模式:
path('api/units/<int:id>/',UnitDetailsView.as_view())
views.py
class UnitDetailsView(APIView):
http_method_names = ['get']
permission_classes = (permissions.AllowAny,)
serializer_class = UnitDetailsSerializer
def get(self,request,**kwargs):
unit = Unit.objects.get(id=kwargs["id"])
return JsonResponse({
'id': unit.id,},status=200)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。