向以下视图发送POST请求时,request.POST
字典为空:
@csrf_exempt
def created_query(request):
if request.method == 'POST':
print(request.POST)
server = get_object_or_404(Server, pk=request.POST['server'])
if server.owner == request.user:
if server.created:
return HttpResponse("created")
else:
return HttpResponse("pending")
else:
return HttpResponseForbidden
else:
return HttpResponseForbidden
我尝试了多种生成POST请求的方法,例如此cURL请求:
curl --request POST \
--url http://localhost:80/created/ \
--form server=60 \
--form action=created
我已经使用调试器检查了字典,只是打印它并且它总是空的。我怀疑这是urls.py
的问题,但是这里是文件中处理此视图的行:
url(r'^created/', views.created_query, name='created'),
我们已经尝试过的事情:
答案 0 :(得分:2)
从Django 1.5开始,POST不再包含非表单数据。
您可以使用request.body
。