【发布时间】:2011-09-16 10:46:51
【问题描述】:
以下代码在 Django 1.2 下运行良好,但在 Django 1.3 下失败,因为 request.POST 为空,尽管表单数据已正确发布到服务器
def commit_form(request):
logging.debug(str(datetime.datetime.now()) + ": commit data " + request.raw_post_data)
purchase = Purchase.objects.get(transaction_id=request.POST['TransactionID']) #breaks here, request.POST is empty
#other stuff...
return HttpResponse("GOOD", mimetype="text/plain")
为什么这不起作用,我在这里看不到任何错误?
【问题讨论】:
-
我不确定它是否能解决你的问题,但无论如何你都应该这样做
transaction_id=request.POST.get('TransactionID', None) -
request.raw_post_data是空的,您是否尝试使用 django-debug-toolbar? -
如果有请提供回溯。
-
no request.raw_post_data 不为空,它包含正确的表单数据
-
你的表单是什么样子的?