如何使用Python,我可以检索POST请求的数据内容?

问题描述 投票:-6回答:2

我有一个WooCommerce webhook,它为我网站上的每个订单发送一个POST请求到特定的URL(http://po.tic.ch/polls/hello)。这个WooCommerce在https://vi.tic.ch上运行。

对于每个订单,我想检索POST的信息,如用户ID = 12,产品ID = 234,价格= 50CHF等,以将其保存在我的服务器po.tic.ch中。

服务器po.tic.ch使用Apache2运行Django。他打开端口80并收到所有的POSTS,但我不知道如何获得他的内容。

我在views.py文件中尝试了这个:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import json


@csrf_exempt
def hello(request):
   # r = json.loads(request.POST)
    r = json.loads(request.POST.body)
    print(r)
    return HttpResponse(r)



def get(self, request, *args, **kwargs):
        return HttpResponse('This is GET request')

def post(self, request, *args, **kwargs):
        return HttpResponse('This is POST request')

the POST request on my Django

谢谢!

python django woocommerce
2个回答
1
投票

这就是我正在寻找的......无论如何,谢谢

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import json


@csrf_exempt
def hello(request):
    r = json.loads(request.body)
    mail = (r['billing']['email'])
    print (mail)
    return HttpResponse(r)

-1
投票

如果您的函数收到所有POST请求,您只需通过data = request.get('data', None)访问正文。如果是空请求,这将返回请求数据或None

© www.soinside.com 2019 - 2024. All rights reserved.