Edd*_*Paz 8 python django-rest-framework
当我使用curl在终端上执行以下命令时
curl -X POST http://myuser:mypassword@myweb.com:8000/call/make-call/ -d "tutor=1&billed=1"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
AssertionError at/call/make-call /期望a
Response,HttpResponse或者HttpStreamingResponse从视图返回,但是收到了<type 'NoneType'>
我的views.py是
@api_view(['GET', 'POST'])
def startCall(request):
if request.method == 'POST':
serializer = startCallSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我的serializer.py是
class startCallSerializer(serializers.ModelSerializer):
class Meta:
model = call
fields = ('tutor', 'billed', 'rate', 'opentok_sessionid')
Run Code Online (Sandbox Code Playgroud)
我的urls.py是
urlpatterns = patterns(
'api.views',
url(r'^call/make-call/$','startCall', name='startCall'),
)
Run Code Online (Sandbox Code Playgroud)
如果request.method == 'POST'测试失败,该函数不会返回响应.(这是在GET请求上)
@api_view(['GET', 'POST'])
def startCall(request):
if request.method == 'POST':
serializer = startCallSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
#Return this if request method is not POST
return Response({'key': 'value'}, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18036 次 |
| 最近记录: |