django图片上传帮助

时间:2011-06-24 19:48:06

标签: django django-forms

我有一个模板,用户可以输入有关他自己的数据,并上传他的照片。照片上传将使用ajax完成,表单内有单独的上传按钮。我的问题是如何上传照片(当用户点击上传按钮时),然后在用户点击提交按钮时保存用户信息。

该模型如下所示:

class User(models.Model):
    name = models.CharField(max_length=50)
    # some other fields
    image = models.ImageField(upload_to="assets/images")

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用带有JavaScript事件处理程序的<input type="button" />来处理上传。 jQuery的$ .POST可以很容易地为你做到这一点。

如果您使用<input type="submit" />进行图片上传,它还会提交其包含的表单。

您可能希望禁用实际的“保存”按钮,直到ajax进程完成并保存该记录,以防您需要与表单中的其他数据建立任何关联等。

希望能让你前进。

答案 1 :(得分:0)

您可以返回用于保存图片的User实例的id,作为js回调/成功函数的一部分,使用它来填充隐藏字段,然后调用该用户实例并保存其余信息用户提交表单。

更大的问题是,特别是考虑到用户打算提交表单,为什么要先保存图像?