1
我有一个图像字段(自定义ThumbnailImageField类型)的Django应用程序,该图像字段根据图像所附的项目的标题,类型和国家自动生成图像的文件路径(upload_to = get_ image_path )。具体方法如下:它在Django中,动态路径更改时如何移动图像?
def get_image_path(instance, filename):
dir = 'images'
subdir = instance.get_type_display()
sub_subdir = 'other'
if instance.country:
sub_subdir = instance.country.name
name = instance.name
extension = filename.split('.')[-1]
return "%s/%s/%s/%s.%s" % (dir, subdir, sub_subdir, name, extension)
的伟大工程,除了一种情况:当我重新命名的项目,改变它的国家,或改变它的类别中,图像变成一个死链接,因为它会产生一个新的形象而不移动原始文件。
于是,神奇的问题:
有一些保存在Django功能,我可以挂接到和覆盖,这将让我有原始的对象和建议值,并比较他们,所以我知道那里的图像路径是否需要去哪里(然后使用此信息在代码中移动/重命名)?
同意,但我认为解决方法是为影响路径 – Jiaaro 2009-10-12 18:36:15
的模型使用post_save信号处理程序,无论哪种方式,都可以让我移动文件。更新文件路径数据库字段是一个单独的问题,并不重要。谢谢。 – 2009-10-14 12:52:42