Django测试客户端post数据为空

Django测试客户端post数据为空,django,testing,client,Django,Testing,Client,我有一个非常简单的应用程序,我必须使用django测试客户端创建一个简单的post请求 userFrom = Client() userFrom.login(username="admin1",password=test_password) data = {"some":"data"} responseNew = userFrom.post("/foo/too/",simplejson.dumps(data),content_type="application/json") 当我在“/foo/

我有一个非常简单的应用程序,我必须使用django测试客户端创建一个简单的post请求

userFrom = Client()
userFrom.login(username="admin1",password=test_password)
data = {"some":"data"}
responseNew = userFrom.post("/foo/too/",simplejson.dumps(data),content_type="application/json")
当我在“/foo/too/”视图中检查post请求时,post字典是空的

我检查了以下问题。它不起作用。 我正在使用Django 1.5


您可以尝试以下方法:

responseNew = userFrom.post("/foo/too/", data)

如果post数据仍然为空,请尝试发送json

client.post(url, json.dumps(data), content_type="application/json")

请尝试
userFrom.post(“/foo/too/”,data)
如果有效,请添加此作为答案。我会接受的。如果您想接受json数据,您可能需要从
request.body
读取。Django Rest框架有一些实用程序可以自动为您完成这项工作,如果您正在编写一个APIs,那么它可以为我工作。我认为这一定是一个bug,因为“如果您提供的内容类型为application/json,那么如果数据是dict、list或tuple,则使用json.dumps()序列化数据。”