我有一个WooCommerce webhook,它为我网站上的每个订单发送一个POST请求到特定的URL(http://po.tic.ch/polls/hello)。此WooCommerce正在https://vi.tic.ch上运行。
对于每个订单,我想检索POST的信息,如用户ID = 12 ,产品ID = 234 , price = 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')
谢谢!
答案 0 :(得分: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 :(得分:-1)
如果您的功能收到所有POST
请求,您只需通过data = request.get('data', None)
访问正文即可。如果请求为空,这将返回请求数据或None
。