2011-01-27 142 views
1

我想創建自己的字段類型上傳圖片,它不會在django管理面板中使用。我想象的語法可能看起來像這樣:Django自定義圖片上傳字段與動態路徑

photo = CustomImageField(upload_to='images', width="200", height="200") 

我想能夠在我上傳和保存圖像時設置字段中的參數。我瀏覽過django文檔,但找不到有關如何執行此操作的任何信息。所以基本上,我希望能夠控制圖像上傳到的位置以及處理上載表單和保存對象時的寬度和高度參數。

我使用Django 1.2

任何幫助,將不勝感激:)

回答

2

您可以使用location屬性更改FileField的存儲。

form_name.photo.storage.location = upload_dir_path  

它適用於FileField或也許這也會爲您的自定義圖像領域的工作,如果你繼承了Django的ImageField的。

2

您不需要自定義字段。如the documentation所示,upload_to可以是可調用的,它可以通過實例並返回一個路徑,該路徑決定了該字段的保存位置。

我不確定你的意思是關於寬度和高度參數。無論如何,這些都是從圖像中計算出來的。如果在字段定義中指定了height_fieldwidth_field,則在上載圖像時,相應字段將填充圖像高度和寬度的值。

+0

我會研究'upload_to'。我想要做的是能夠分別指定上傳圖像的寬度和高度。我知道我可以劫持字段保存方法來執行此操作,但是我希望能夠在每次上傳圖片時指定尺寸,因爲它們將根據上傳到的「相冊」而發生變化。 – Hanpan 2011-01-27 11:53:04