【发布时间】:2010-09-07 13:39:47
【问题描述】:
我想自定义用于保存我的图像以供记录的文件夹...目前,我有:
original_image = models.ImageField(upload_to='photos')
但我想要的是将图像保存到photos/<vehicle's_stock_number>/...如何将库存编号添加到上传路径的末尾?
【问题讨论】:
标签: django
我想自定义用于保存我的图像以供记录的文件夹...目前,我有:
original_image = models.ImageField(upload_to='photos')
但我想要的是将图像保存到photos/<vehicle's_stock_number>/...如何将库存编号添加到上传路径的末尾?
【问题讨论】:
标签: django
根据FileField.upload_to 的文档:
这也可能是一个callable,比如一个函数,会被调用来获取上传路径,包括文件名。此可调用对象必须能够接受两个参数,并返回要传递给存储系统的 Unix 样式路径(带有正斜杠)。将传递的两个参数是:
instance:定义 FileField 的模型实例。更具体地说,这是附加当前文件的特定实例。在大多数情况下,这个对象还没有保存到数据库中,所以如果它使用默认的AutoField,它的主键字段可能还没有值。
filename:最初赋予文件的文件名。在确定最终目标路径时可能会或可能不会考虑这一点。
因此,如果您的模型具有 stock_number 属性,则可以使用以下内容:
def get_path(instance, filename):
return 'photos/%s/%s' % (instance.stock_number, filename)
【讨论】: