用户个人资料修改
opened this issue · comments
Deleted user commented
API:/users/
HTTP method: patch
用户修改头像或者昵称
Yitao Xiong commented
昵称修改现在就可以做到,头像修改我需要去研究一下是否需要一个单独的API,因为同时传递json和图片感觉不太可行。
Deleted user commented
rest 的 serializer 应该已经帮我们处理了吧?只要前端通过 patch 方法把所需要的图片传过来。应该不需要单独的 API,只要对 user 模型进行 partial_update 就可以了。
Lennon Chin commented
后期不考虑其他对象存储托管图片么?
如果要考虑的话,建议上传图片单独为一个接口,传完后返回对应链接,保存资料时直接保存图片链接数据。这样后期迁移对象存储也方便扩展。
毕竟是前后端分离的模式。
Deleted user commented
目前的模式应该就是这样的。用户模型中保存的是用户上传头像的路径。如果以后图片迁移的话只要根据路径找到图片,上传到其它存储的地方,然后修改链接应该就可以了。
Deleted user commented
不过好像头像确实需要一个单独的 API 来上传。
rinka0414 commented
1.图片路径存储问题
不是应该用户模型里存储的是图片相对路径,前缀网址是根据static file的设置来改变的吗(local和production有不同的static file的设置)?
2.修改头像是否需要单独的API
前端可以用form data同时传图片和其他字段,对用户资料进行同时修改
Yitao Xiong commented
这里可能可以不用单独的API,因为一般来说这个是分两步完成的:
- 用户上传头像并预览效果,这里取决于我们是自己管理上传文件还是用别的CDN服务来管理,但是这里用户应该是可以反复上传查看效果的
- 用户点击确定,把链接更改成自己满意的头像。这里其实只是修改链接,文件的上传已经完成,所以用现有的PATCH端口就可以完成修改。
这里同样对前端的逻辑有一定要求,我查看了react-china的相关部分,也是由类似逻辑构成的。