2011-01-27 136 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