首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sorl- ImageField动态upload_to路径缩略图

sorl- ImageField动态upload_to路径缩略图
EN

Stack Overflow用户
提问于 2012-02-09 01:04:41
回答 2查看 1.4K关注 0票数 2

我知道在django ImageFields和FileFields中有一种动态上传路径的方法,那就是在字段中传递一个upload_to=callable,但是有没有一种方法可以用sorl-thumbnail来实现呢?

这是我的model.py,我得到一个未定义的upload_path!

代码语言:javascript
复制
class Brand(models.Model):
    title = models.CharField(max_length=255, null=True, blank=True)
    photo = sorl.thumbnail.ImageField(upload_to=upload_path)
    external = models.BooleanField(_('External Brand? ("Key Account")?'))

    def upload_path(self):
        return u'%s' % self.title
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-09 01:28:02

参见this related SO question

缩略图不会对upload_to做任何特殊的事情。它只是通过继承Django的FileField来处理传递的参数,所以任何使用标准FileFieldImageField的东西都可以使用sorl-thumbnail的ImageField

我认为你的问题是在模型上定义方法。我所见过或自己做过的每一个实现都有模型之外的方法。Django自动将实例传递给方法,因此这就是您访问模型上的数据的方式--而不是通过self

票数 2
EN

Stack Overflow用户

发布于 2012-02-09 06:34:36

我将此回调与sorl一起使用:

代码语言:javascript
复制
def get_image_path(instance, filename):
    """
    puts image in MEDIA_ROOT/photos/instance_id/file
    """
    return os.path.join('photos', str(instance.id), filename)

class Brand(models.Model):
    ...
    photo = sorl.thumbnail.ImageField(upload_to=get_image_path)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9198025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档