通过django shell保存图像/文件

问题描述 投票:27回答:2

我正在尝试通过django shell保存图像文件。

我的model.py是:

class user(models.Model):
    name = models.CharField(max_length=20)
    pic = models.ImageField()

管理和表单一切都很好,但我想使用shell保存图像:

类似

>>> user1 = User(name='abc', pic="what to write here")
django django-models django-file-upload django-shell python
2个回答
55
投票
from django.core.files import File

user1=User(name='abc')
user1.pic.save('abc.png', File(open('/tmp/pic.png', 'r')))

您最终将图像abc.png复制到upload_to目录中在ImageField中指定。

在这种情况下,user1.pic.save方法还将保存user1实例。保存ImageField的文档可以在这里找到https://docs.djangoproject.com/en/dev/ref/files/file/


23
投票
from django.core.files import File
user1=User(name='abc')
user1.pic.save('abc.png', File(open('/tmp/pic.png', 'rb')))

请使用'rb'代替'r'。如果您使用的是python3。

© www.soinside.com 2019 - 2024. All rights reserved.