web-dev-qa-db-ja.com

Djangoシェルを介して画像/ファイルを保存する

Djangoシェルを介して画像ファイルを保存しようとしています。

ぼくの model.pyは:

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

管理者とフォームではすべて問題ありませんが、シェルを使用して画像を保存したいと思います。

何かのようなもの

>>>user1=User(name='abc', pic="what to write here")
26
from Django.core.files import File

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

ImageFieldで指定されたabc.pngディレクトリにupload_toの画像がコピーされます。

この場合、user1.pic.saveメソッドはuser1インスタンスも保存します。 ImageFieldを保存するためのドキュメントはここにあります https://docs.djangoproject.com/en/dev/ref/files/file/

47
edward
from Django.core.files import File
user1=User(name='abc')
user1.pic.save('abc.png', File(open('/tmp/pic.png', 'rb')))

'r'の代わりに 'rb'を使用してください。 python3を使用している場合。

20
Gopal Roy