我有一个模板,用户可以输入有关他自己的数据,并上传他的照片。照片上传将使用ajax完成,表单内有单独的上传按钮。我的问题是如何上传照片(当用户点击上传按钮时),然后在用户点击提交按钮时保存用户信息。
该模型如下所示:
class User(models.Model):
name = models.CharField(max_length=50)
# some other fields
image = models.ImageField(upload_to="assets/images")
谢谢!
答案 0 :(得分:0)
您需要使用带有JavaScript事件处理程序的<input type="button" />
来处理上传。 jQuery的$ .POST可以很容易地为你做到这一点。
如果您使用<input type="submit" />
进行图片上传,它还会提交其包含的表单。
您可能希望禁用实际的“保存”按钮,直到ajax进程完成并保存该记录,以防您需要与表单中的其他数据建立任何关联等。
希望能让你前进。
答案 1 :(得分:0)
您可以返回用于保存图片的User实例的id,作为js回调/成功函数的一部分,使用它来填充隐藏字段,然后调用该用户实例并保存其余信息用户提交表单。
更大的问题是,特别是考虑到用户打算提交表单,为什么要先保存图像?