Django自定义动态路径图片上传字段

1 投票
3 回答
5920 浏览
提问于 2025-04-16 10:42

我想自己创建一个上传图片的字段类型,这个字段不会在Django的管理面板中使用。我想象一下,语法可能会像这样:

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

我希望在上传和保存图片的时候,可以设置一些参数。我查阅了Django的文档,但找不到相关的内容。所以,简单来说,我想控制图片上传的位置,以及在处理上传表单和保存对象时,设置图片的宽度和高度参数。

我使用的是Django 1.2

任何帮助都将非常感谢 :)

3 个回答

0

上传的所有信息:

http://docs.djangoproject.com/en/dev/topics/files/

还有关于调整大小的信息:

保存时调整图片大小

希望这些对你有帮助。

编辑:我觉得你需要的就是这个:http://code.google.com/p/django-stdimage/,不过我不确定它是否适用于当前版本。

3

你不需要为这个创建一个自定义字段。正如文档所示,upload_to可以是一个可调用的函数,这个函数会接收一个实例,并返回一个路径,用来决定这个字段保存的位置。

我不太明白你说的宽度和高度参数是什么意思。这些参数实际上是从图片中计算出来的。如果你在字段定义中指定了height_fieldwidth_field,那么在上传图片时,相应的字段会自动填入图片的高度和宽度值。

2

你可以通过使用位置属性来改变文件字段的存储位置。

form_name.photo.storage.location = upload_dir_path      

这个方法适用于文件字段,也可能适用于你自定义的图片字段,只要你继承了Django的ImageField。

撰写回答