如何在Django中保存图像/文件?

时间:2011-03-18 13:59:38

标签: django

这可能是一个愚蠢的问题,但我被困住了。

我在这里阅读了关于Django文件/图片上传的文档,但我不确定如何继续:http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/

我的模型定义如下:

class PicUploads(models.Model):
    blog_post = models.ForeignKey(Post)
    pic = models.ImageField(upload_to='pics/%Y/%m/%d')

class PicUploadsForm(forms.ModelForm):
    class Meta:
        model=PicUploads
        exclude = ('blog_post',)

在我的视图文件中,如何保存图像?

如果我使用文档中定义的handle_uploaded_file函数,图像将存储在已定义的目录中,但是如何在PicUploads模型中将其路径与外键一起保存?为什么我不能像使用文本数据一样使用save()方法?

1 个答案:

答案 0 :(得分:2)

您只需save() ModelForm就可以{p> File/ImageField

您正在查看的文档说明如何使用某些上传处理程序自定义默认行为,这不是必需的。

只需使用request.POSTrequest.FILES来实例化您的模型,然后调用save()即可完成所有操作!

form = Form(request.POST, request.FILES)
if form.is_valid():
    form.save()