2011-07-08 45 views
3

我有这样的代码提交表单如何重命名在Django模型上传的图片

form = form_class(request.POST, request.FILES, instance=object) 
if form.is_valid(): 
form.save() 

image_path = models.ImageField(upload_to='books/')

目前books/book1/jpg被插入到该字段

但我想该图像应重命名为modelName_pk.jpg并将该值保存在image_path

我怎样才能做到这一点

回答

2

也许这就是你要搜索的内容

Django FileField with upload_to determined at runtime

+0

以及多数民众赞成看起来相关但我怎么能确定的主键,因为它会插入数据后不生成bfore提交表格 – user1

+0

好吧,如果filefield是不能在同一个模型上,或者在列表中您首先要保存一个临时名称,并在保存后重命名它。 一个漂亮的解决方案是创建一个文件表,这些文件表具有要保存的单元的外键(例如Book),这是一个明确的示例 http://stackoverflow.com/questions/3932969/django-unique-名称为对象内外键集 –

+0

此链接正在做我想要的东西http://djangosnippets.org/snippets/1129/它重命名为pk.jpg,但我如何插入模型名称在那里 – user1