图片存储到不同的目录下(修改ImageField upload_to)

项目中需要将model的id拼接在图片上,作为图片路径的一部分。实现思路是,动态修改ImageField中的upload_to关键字:

关键代码如下

def   custom_upload_path(instance, filename):

     class_name= instance.__class__.__name__.lower()

      return  "{}/{}-{}/{}".format(class_name+"s",class_name, instance.pk, filename)


调用:

class   Temple(models.Model):

        image = models.ImageField(upload_to=custom_upload_path)#TODO

       def __str__(self):

          returnself.name


class   Monk(models.Model):

       image = models.ImageField(upload_to=custom_upload_path)#TODO

     def __str__(self):

        returnself.name

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,952评论 19 139
  • 号外号外!!!国内同行们,在复活节到来之前,这里有一个节日游戏,大家可以带着孩子们玩一玩! 先给孩子们普及一下复活...
    April0Brighton阅读 807评论 0 1
  • 《孤独的河流》 一条奔跑的河 绝不允许身旁 有另一条缓慢的河 一条浑浊的河 绝不允许身旁 有一条清澈的河 挟持 翻...
    黄开兵阅读 501评论 0 1