Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django rest框架中更新实例?_Python_Django_Django Rest Framework - Fatal编程技术网

Python 如何在Django rest框架中更新实例?

Python 如何在Django rest框架中更新实例?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有一个关于如何在django rest框架中更新实例的问题 所以基本上我想通过请求更新我的用户配置文件,但我无法获取当前用户Id。有没有更好的方法获取当前用户并更新其信息?这不起作用,因为request.user始终是匿名的 @api_view(['POST']) def update_profile(request): serializer = AccountSerializer(request.user, data=request.data) if serializer

我有一个关于如何在django rest框架中更新实例的问题

所以基本上我想通过请求更新我的用户配置文件,但我无法获取当前用户Id。有没有更好的方法获取当前用户并更新其信息?这不起作用,因为request.user始终是匿名的

@api_view(['POST'])
def update_profile(request):

    serializer = AccountSerializer(request.user, data=request.data)

    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data, status=status.HTTP_201_CREATED)
    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) 
非常感谢你

如果request.user在此处始终是匿名的,您可以:

检查request.user.u是否在其他任何操作之前经过身份验证,并将未经身份验证的用户重定向到登录页面或使用@login\u必需的装饰程序,或

基于URL参数/kwarg中的数据获取用户对象,而不是基于发出请求的用户。例如,也许yourapp/users/1从URL中获取1并用于主键查找


你在学习教程吗?你能发布更多的代码吗?最好是此应用程序的完整views.py