如何正确使用Backbone collection的create方法

时间:2013-01-06 09:58:52

标签: django backbone.js

我发现当我使用collection.create创建一个新模型时,骨干网会发送一个帖子请求,但帖子数据不正确 例如 collection.create({名称: '测试'}) backbone将使用“{name:'test'}”作为键发送POST数据,并使用“”作为值, 但我希望POST数据使用name作为键,'test'作为值, 任何人都无法设置它,

我使用django作为服务器

提前致谢

3 个答案:

答案 0 :(得分:0)

除非您更改主干的集合,否则请使用Backbone.sync与后端进行通信。

他们在文档中说:

  

使用默认实现时,Backbone.sync发送一个   请求保存模型,其属性将被传递,序列化为   JSON,并在HTTP主体中使用content-type application / json

发送

所以我想你需要在你的django视图中做这样的事情

json.load(request.POST)

或使用不将数据序列化为json的自定义同步函数

答案 1 :(得分:0)

您需要解析原始发布数据字符串并将其解析为python dict。

import json
data = json.loads(request.raw_post_data)

答案 2 :(得分:0)

您也可以设置

Backbone.emulateJSON = true;

根据http://backbonejs.org/#Sync-emulateJSON