正常的post请求(如通过python发送post请求),可以获得数据。但是如果是跨域的,数据无法获取到。对数据进行的操作(如打印),只有在程序关闭时才会显示出来。
正常的post请求(如通过python发送post请求),可以获得数据。但是如果是跨域的,数据无法获取到。对数据进行的操作(如打印),只有在程序关闭时才会显示出来。
通过request.data
就可以了
完整代码如下:
@api_view(['GET', 'POST'])
def bizcircle_list(request, format=None):
"""
商圈的读取或创建
"""
if request.method == 'GET':
bizcircles = Community.objects.all()
serializers = BizcircleSerializer(bizcircles, many=True)
return Response(serializers.data)
elif request.method == 'POST':
serializers = BizcircleSerializer(data=request.data)
if serializers.is_valid():
serializers.save()
return Response(serializers.data, status=status.HTTP_201_CREATED)
return Response(serializers.errors, status=status.HTTP_400_BAD_REQUEST)
其中Community
为我自己的模型,BizcircleSerializer
为基于Community
创建的序列化。
初步判断是因为跨域时会先发送一个options请求,然后再发送post请求。django自带的wsgi服务器,会只出了options请求,对post请求阻塞,导致无法获取数据。换成uwsgi后不会出现该问题