使用Backbone和Tastypie更新Django用户属性(特别是password
和email
)的正确方法是什么?
一般来说,在这两种情况下,从API角度来看,什么是良好的工作流程?
答案 0 :(得分:0)
这种“单字段”更新由PATCH HTTP动词处理。因此,您应该使用此方法和要更新的数据执行Ajax请求。
卷曲,它是:
curl --dump-header - -H "Content-Type: application/json" -X PATCH --data '{"email": "new@email.com"}' "http://localhost:8000/api/v1/user/1/"
关于Backbone,这不是必需的。您可以保留用户模型并使用sync
方法,但通过Jquery.ajax()
调用就足够了。
Jquery的:
$.ajax({
type: 'PATCH',
url: http://localhost:8000/api/v1/user/1/,
data: "{'email': 'new@email.com'}",
success: function(){/* your logic */},
contentType: "application/json"
});