Alejandro Veintimilla
Alejandro Veintimilla

Reputation: 11523

django rest framework find url kwarg in APIView

I have a url that looks like this:

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

And an APIView:

class ClientProfileAddressView(APIView):

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

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

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

In both put and get, I need to access the id url kwarg, the first one to update the object, the second to update it. How can I access the url argument in those methods?

Upvotes: 8

Views: 14730

Answers (1)

erik-sn
erik-sn

Reputation: 2600

This should work:

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')

Upvotes: 20

Related Questions