客户: 我发送了这个http请求,代码:
import requests
payload = {'data': [{'name': 'pippo', 'age':'7'}, {'name':'luca', 'age':'12'}]}
r = requests.post("http://127.0.0.1:8000", data=payload)
print(r.url)
服务器Django。代码views.py:
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def home(request):
context = {'request_method': request.method}
if request.method == 'POST':
context['request_payload'] = request.POST.dict()
post_data = request.POST
print(post_data)
for key, value in post_data.items():
for subvalue in value:
print{key, subvalue}
if request.method == 'GET':
context['request_payload'] = request.GET.dict()
return render(request, 'main/index.html', context)
当我执行时。 Django我没有收到发送客户端的数据。
我在django上print(post_data)
的结果是:<QueryDict: {'data': ['name', 'age', 'name', 'age']}>
我想提取以下内容: {'name':'pippo','age':'7'} {'name':'luca','age':'12'}
我该怎么办?
答案 0 :(得分:0)
这不是可以轻松地以表单编码格式表示的数据。您需要发送JSON。
JobScheduler
并在视图中对其进行解析:
r = requests.post("http://127.0.0.1:8000", json=payload)