I ma création d'un profil utilisateur mise à jour api via django:Django mise à jour api
dans urls:
url(r'^/api/users/(?P<user_id>[0-9]+)$', UserView.as_view(), name='user_profile'),
Et moi:
class UserView(APIView):
def patch(self, request, user_id):
# logging.info('user Id: %s' % user_id)
logging.info('in patch...')
user = User.objects.get(id=user_id)
serializer = UserSerializer(user, data=request.data, partial=True)
if serializer.is_valid():
serializer.save()
return Response(status=status.HTTP_200_OK)
return Response(status=status.HTTP_400_BAD_REQUEST)
pourquoi Patch def pas appelé du tout? ! (Je reçois 504 Méthode non autorisée)
ma demande est:
Patch>http://localhost:8000/api/users/2
Lorsque je supprime l'argument user_id
en vue, cela fonctionne, mais je dois obtenir l'ID utilisateur dans chemin.
S'il vous plaît montrer la signature de la classe UserView. –
@PrashantGaur Voir la question mise à jour. – Sajad
essayez ce patch de modification (self, request, * args, ** kwargs): essayez d'obtenir user_id de kwargs.get. faites-moi savoir si un problème persiste. S'il vous plaît django reste cadre comme une balise, il semble que vous utilisez DRF. –