通过django shell保存图像/文件

时间:2013-03-11 05:57:31

标签: django django-models django-file-upload django-shell python

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

我的model.py是:

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

使用admin和表单可以很好地使用Everyhing但我想使用shell保存图像:

类似

>>>user1=User(name='abc', pic="what to write here")

2 个答案:

答案 0 :(得分:46)

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/

中找到

答案 1 :(得分:20)

src/Template/Pages/*.ctp

请使用' rb'而不是' r。如果您使用的是python3。