【发布时间】:2018-08-20 22:19:45
【问题描述】:
发送http帖子
import requests
payload = [{'name': 'pippo', 'age':'7'}, {'name':'luca', 'age':'12'}]
r = requests.post("http://127.0.0.1:8000", data=payload)
print(r.url)
在 django 中接收 Http 帖子
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from home.models import Post
@csrf_exempt
def home(request):
all_post = Post.objects.all()
context = {'request_method': request.method}
if request.method == 'POST':
context['request_payload'] = request.POST.dict()
post_data = dict(request.POST)
print(post_data)
if request.method == 'GET':
context['request_payload'] = request.GET.dict()
return render(request, 'main/index.html', context, {'all_post':all_post})
在 print(post_data) 中我没有看到 [{'name': 'pippo', 'age':'7'}, {'name':'luca', 'age':'12'}]
为什么?我的错误在哪里?
【问题讨论】:
-
你看到了什么做?
-
如果我没记错的话,
data应该是一个字典,将request.POST中的键映射到一个值,而不是一个列表... -
in print(post_data) 正在返回一个我不期望的结果。
-
in print(post_data) 我期望 [{'name': 'pippo', 'age':'7'}, {'name':'luca', 'age':'12' }]
-
@Marco 你能发布
print(post_data)的结果吗?
标签: django python-3.x request http-post