2013-05-02 106 views
0

我使用Django Python中的ContentFile,並且我有一個先前上傳到Web服務器的ContentFile。Python Django - 將ContentFile保存到本地文件

我想要做的就是將這個ContentFile(它是一個PDF)保存到我的本地機器上。

in : type(file_contents) 
out : <class 'django.core.files.base.ContentFile'> 

from django.core.files.storage import default_storage 
path = default_storage.save('/tmp/file.pdf', file_contents) 

in:path 
out:u'/tmp/file.pdf' 

我找不到我的本地機器上任何地方的這個文件......我承認我可能會做一些錯誤,但在這裏任何幫助將是巨大的。希望能夠在我的本地機器上找到這個PDF,看看它的樣子。

回答

0

服務器無法將文件保存到本地計算機。只有你的本地瀏覽器可以做到這一點服務器唯一能做的就是提供一個供瀏覽器下載的文件。

+0

嗨丹尼爾 - 對不起,我應該澄清,我不在服務器上。我正在使用python manage.py shell來演示這一點。 – yrekkehs 2013-05-02 17:26:53

0

事實證明有一個更簡單的答案。我能做的只是打開一個新文件

pdf_file = open(LOCAL_PDF_SAVE_LOCATION, "wb") 
pdf_file.write(ContentFileContents) 
pdf_file.close() 

這最終成爲一個更簡單的解決方案,並顯示在我認爲這有點過分。