无法在django中使用shell上传图像

时间:2017-05-03 06:11:28

标签: python django

我是dJango / python的新手。我正在尝试python shell使用模型保存数据。我做了:

模型

Progress

现在我在shell中尝试了命令:

class Author(models.Model):
salutation = models.CharField(max_length=10)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
headshot = models.ImageField(upload_to='/tmp')

def __str__(self):
    return '%s %s' % (self.first_name, self.last_name)

然后我将一个图像放在项目的tmp目录中并按照命令运行:

>>> from books.models import Author
>>> a = Author(salutation='Mr.',
... first_name='First Name',
... last_name='Last Name',
... email='myemail@myemail.com')   

它给了我错误:

a.headshot.save('/abc.jpg', Author(open('/tmp/pic.jpg', 'r')))

请帮助我。

2 个答案:

答案 0 :(得分:1)

试试这个

from django.core.files import File

a.headshot.save('abc.jpg', File(open('/tmp/pic.jpg', 'r')))

答案 1 :(得分:0)

FileNotFoundError: [Errno 2] No such file or directory: '/pyproject/mysite/tmp/pic.jpg'

看看python在哪里寻找文件。

请将pic.jpg文件复制到运行shell命令的同一目录中,然后确定它将起作用。