2017-05-03 58 views
0

我在Django的/ Python的新手。我正在嘗試使用python shell來保存數據。我這樣做的:無法上傳使用shell圖像在Django

型號

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) 

現在我已經試過在shell的命令:

>>> from books.models import Author 
>>> a = Author(salutation='Mr.', 
... first_name='First Name', 
... last_name='Last Name', 
... email='[email protected]') 

然後,我已經把圖像中的項目的tmp目錄下運行命令:

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

它給我的錯誤:

Traceback (most recent call last): 
File "<console>", line 1, in <module> 
FileNotFoundError: [Errno 2] No such file or directory: '/pyproject/mysite/tmp/pic.jpg' 

請幫助我一個人。

+1

你確定你正在使用'/ tmp目錄/ pic.jpg'前述削減? – itzMEonTV

+0

你嘗試重新啓動shell嗎? – CODEkid

回答

1

試試這個

from django.core.files import File 

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

它給了我同樣的錯誤。 – StreetCoder

+0

發佈文件 – itzMEonTV

+0

你的絕對路徑,這是我的'pyproject/mysite的/ tmp目錄/ pic.jpg' – StreetCoder

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

剛看到Python是要找的文件。

請你在哪裏運行shell命令,將肯定工作,然後複製在同一目錄下的文件pic.jpg。

+0

我在'pyproject/mysite'中運行shell,並將圖像複製到'pyproject/mysite'中並運行命令'a.headshot.save('/ abc.jpg',Author(open('/ pic.jpg', 'r')))'但它仍然顯示相同的錯誤。 – StreetCoder

+0

@StreetCoder嘗試從一開始就刪除/的文件名 –