2010-08-11 56 views
1

初學者問題。這裏的pdb輸出在django表格上檢查FieldFile

(Pdb) entry.image 
<FieldFile: None> 
(Pdb) entry.image is None 
False 

如何檢查圖像是否存在?

可以說,我想訪問entry.image.file但我不知道entry.image是否存在

解決檢查我自己的答案

+0

什麼是'FieldFile'?推測這是你的自定義模型 - 它的代碼是什麼樣的? – 2010-08-11 08:11:36

+0

http://docs.djangoproject.com/en/dev/ref/models/fields/#filefield-and-fieldfile條目是一個ModelForm,圖像是從該模型的FileField – kusut 2010-08-11 08:30:28

回答

1

發現瞭如何做到這一點

bool(entry.image) 
+0

你應該接受你自己的答案,以便那些後來的人知道該怎麼辦:) – 2010-08-11 10:09:30

+0

我做了,但她說「你可以在2天內接受你自己的答案」:)。不知道爲什麼,我沒有必要等待之前這樣做 – kusut 2010-08-11 10:26:27

0

這裏:

file_path = entry.image.path 
open(file_path) 

如果文件存在,不應該有任何錯誤。

+0

是的,但我問如何檢查存在的文件。如果你嘗試從entry.Image – kusut 2010-08-11 07:09:26

+1

ksut中訪問路徑或文件屬性,它會給出一個ValueError('沒有與它關聯的文件'),你可以總是將訪問語句封裝在一個try中。 – 2010-08-11 08:20:38

+0

是真的。我不認爲這樣回來 – kusut 2010-08-13 10:05:56

0

如何:

import os 
os.path.exists(file_path) and os.path.isfile(file_path) 
+0

檢查前導答案。從entry.image訪問'文件'或'路徑'屬性不會工作 – kusut 2010-08-11 07:24:52

+0

@Kusut:我的錯誤。讓我挖一下。 – 2010-08-11 07:44:26