问题描述
我知道这是一个经典问题,但我没有找到适合我的特定情况的解决方案。 所有 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 文件:
错误信息:
从源“https://xxx.yyyy.com”访问“https://api.xxxx.com/api/v1/users/11”的 XMLHttpRequest 已被 CORS 政策阻止:无“访问”请求的资源上存在 Control-Allow-Origin' 标头。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)