Django中的图片上传

0 投票
3 回答
1807 浏览
提问于 2025-04-16 15:31

有人能给我指个方向,告诉我在Django中怎么上传图片吗?我看过文档和Django书籍,但找到的都是文件上传的例子。我刚开始接触Django,想先看看一个例子是怎么工作的,然后再写自己的表单。非常感谢!

3 个回答

0

这个内容有点过时了,但在django 1.3上还是可以用的。

http://www.carcosa.net/jason/software/django/stockphoto/

1

也许这能帮到你一点:

forms.py

class SomeForm(forms.Form):
    picture = forms.ImageField(required=False)

views.py

if request.method == 'POST':
    form = SomeForm(request.POST, request.FILES)
    if form.is_valid():
        dest_file = open('some_image_file.jpg', 'wb+')
        for chunk in  request.FILES['picture_field'].chunks():
            dest_file.write(chunk)
        dest_file.close()

我还没有运行这段代码,可能我漏掉了什么……但一般来说就是这样,文件会被保存到磁盘上(默认情况下,每个文件块的大小是2.5兆)。记住,在你放置表单的模板中,表单必须设置为enctype="multipart/form-data"。

当你保存了文件后,可以使用PIL来调整大小、添加水印,或者对图片进行任何你想要的编辑;)

祝好运。

Ignas

1

你可以看看这些链接,看看它们是否符合你的需求。

使用 Ajax 和 Django

Django Photologue

撰写回答