Сохранение изображения/файла через оболочку django - программирование
Подтвердить что ты не робот

Сохранение изображения/файла через оболочку 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")
4b9b3361

Ответ 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.