django rest框架在APIView中找到url kwarg

Ale*_*lla 5 django-rest-framework

我有一个看起来像这样的网址:

url(r'^client_profile/address/(?P<id>.+)/$', views.ClientProfileAddressView.as_view())
Run Code Online (Sandbox Code Playgroud)

还有一个APIView:

class ClientProfileAddressView(APIView):

    renderer_classes = (JSONRenderer,)
    permission_classes = (IsAuthenticated,)

    def put(self, request):
          ....

    def get(self, request):
          ....
Run Code Online (Sandbox Code Playgroud)

在这两个putget我需要访问idURL kwarg,更新对象,第二个更新它的第一个.如何在这些方法中访问url参数?

eri*_*-sn 9

这应该工作:

def put(self, request, *args, **kwargs):
      id = kwargs.get('id', 'Default Value if not there')

def get(self, request, *args, **kwargs):
      id = kwargs.get('id', 'Default Value if not there')
Run Code Online (Sandbox Code Playgroud)

  • 您还可以解释一下它的来源并链接到解释它的文档吗?此信息很难在文档中找到,因为我不知道到底要查找什么(它不在基于类的视图页面上) (2认同)