我正在尝试通过 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 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")
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/
from django.core.files import File
user1=User(name='abc')
user1.pic.save('abc.png', File(open('/tmp/pic.png', 'rb')))
请使用“rb”而不是“r”。如果您使用的是 python3.
对我有用的是:
django.core.files.uploadedfile import UploadedFile
user1=User(name='abc')
user1.pic.save('abc.png', UploadedFile(file=open('/tmp/pic.png', 'rb'), content_type='image/png'))