Сохранение изображения/файла через оболочку django
Я пытаюсь сохранить файл изображения через оболочку django.
Мой model.py
:
class user(models.Model):
name=models.CharField(max_length=20)
pic=models.ImageField()
Everyhing отлично работает с администратором и формами, но я хочу сохранить изображение с помощью оболочки:
что-то вроде
>>>user1=User(name='abc', pic="what to write here")
Ответы
Ответ 1
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/
Ответ 2
from django.core.files import File
user1=User(name='abc')
user1.pic.save('abc.png', File(open('/tmp/pic.png', 'rb')))
Используйте 'rb' вместо 'r'. Если вы используете python3.