使用Backbone.js和tastypi更新Django中的用户
使用主干网和Tastypie更新Django的用户属性(特别是使用Backbone.js和tastypi更新Django中的用户,django,backbone.js,tastypie,Django,Backbone.js,Tastypie,使用主干网和Tastypie更新Django的用户属性(特别是密码和电子邮件)的正确方法是什么 一般来说,在这两种情况下,从API的角度来看,什么是好的工作流 这种“一个字段”更新由补丁HTTP谓词处理。因此,您应该使用此方法和要更新的数据执行Ajax请求 在curl中,应该是: curl --dump-header - -H "Content-Type: application/json" -X PATCH --data '{"email": "new@email.com"}' "http:/
密码
和电子邮件
)的正确方法是什么
一般来说,在这两种情况下,从API的角度来看,什么是好的工作流 这种“一个字段”更新由补丁HTTP谓词处理。因此,您应该使用此方法和要更新的数据执行Ajax请求
在curl中,应该是:
curl --dump-header - -H "Content-Type: application/json" -X PATCH --data '{"email": "new@email.com"}' "http://localhost:8000/api/v1/user/1/"
关于主干,这不是一个要求。您可以保留一个用户模型并使用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"
});
是的,这很清楚。但我说的是更一般的东西。例如,通过API更新电子邮件字段的逻辑是什么。在更新之前进行一些电子邮件确认通常是有意义的。如果您从ModelResource类创建了UserResource,则无需执行任何操作。关于确认,在你看来,这是你必须处理的事情。API是任何流程的最后一步。补丁是调用部分更新的正确动词。在引擎盖下,tastypi读取整个对象并发出更新(PUT)。您必须创建视图(在本例中使用HTML和JS),并请求用户确认。一旦它被接受,您就可以使用API来修改数据。