我知道在django ImageFields和FileFields中有一种动态上传路径的方法,那就是在字段中传递一个upload_to=callable,但是有没有一种方法可以用sorl-thumbnail来实现呢?
这是我的model.py,我得到一个未定义的upload_path!
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发布于 2012-02-09 01:28:02
缩略图不会对upload_to做任何特殊的事情。它只是通过继承Django的FileField来处理传递的参数,所以任何使用标准FileField或ImageField的东西都可以使用sorl-thumbnail的ImageField。
我认为你的问题是在模型上定义方法。我所见过或自己做过的每一个实现都有模型之外的方法。Django自动将实例传递给方法,因此这就是您访问模型上的数据的方式--而不是通过self。
发布于 2012-02-09 06:34:36
我将此回调与sorl一起使用:
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)https://stackoverflow.com/questions/9198025
复制相似问题