微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django Rest Framework - 在生产模式下删除 API CORS 错误OVH 网络云

如何解决Django Rest Framework - 在生产模式下删除 API CORS 错误OVH 网络云

我知道这是一个经典问题,但我没有找到适合我的特定情况的解决方案。 所有 API 都可以正常工作,而 DELETE API 因 CORS 错误而失败。这仅发生在生产环境(OVH 网络云)中 这是我的python后端代码

class UserDetail(APIView):

permission_classes = (IsAuthenticated,)

def get_object(self,pk):
    try:
        return User.objects.get(pk=pk)
    except User.DoesNotExist:
        raise Http404


def get(self,request,pk,format=None):
    userSet = User.objects.filter(id=pk)
    serializer = UserSerializer(userSet,many=True)
    return Response(serializer.data)

def post(self,format=None):
    userSet = self.get_object(pk)
    serializer = UserUpdateSerializer(userSet,data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data)
    return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
    
def delete(self,format=None):
    user = self.get_object(pk)
    user.delete()
    return Response({'deleted user': pk},status=status.HTTP_204_NO_CONTENT)

这是放在 django 根文件夹中的 .htaccess 文件

enter image description here

如果需要,我还会分享浏览器显示的响应标头内容

enter image description here

错误信息:

从源“https://xxx.yyyy.com”访问“https://api.xxxx.com/api/v1/users/11”的 XMLHttpRequest 已被 CORS 政策阻止:无“访问”请求的资源上存在 Control-Allow-Origin' 标头。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。