Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Backbone.js和tastypi更新Django中的用户_Django_Backbone.js_Tastypie - Fatal编程技术网

使用Backbone.js和tastypi更新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:/

使用主干网和Tastypie更新Django的用户属性(特别是
密码
电子邮件
)的正确方法是什么

一般来说,在这两种情况下,从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来修改数据。