Django自定义动态路径图片上传字段
我想自己创建一个上传图片的字段类型,这个字段不会在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_field
和width_field
,那么在上传图片时,相应的字段会自动填入图片的高度和宽度值。
2
你可以通过使用位置属性来改变文件字段的存储位置。
form_name.photo.storage.location = upload_dir_path
这个方法适用于文件字段,也可能适用于你自定义的图片字段,只要你继承了Django的ImageField。