Python Django Imagekit-如何获取不在模板中的url?

Python Django Imagekit-如何获取不在模板中的url?,python,django,imagekit,Python,Django,Imagekit,我一直在使用django imagekit,模板中没有任何问题,但现在我需要在视图中获取url,而不是模板,imagekit文档中的示例如下: source_file = open('/path/to/myimage.jpg') image_generator = Thumbnail(source=source_file) result = image_generator.generate() 所以我这样做了: course_img = open(settings.MEDIA_ROOT+str

我一直在使用django imagekit,模板中没有任何问题,但现在我需要在视图中获取url,而不是模板,imagekit文档中的示例如下:

source_file = open('/path/to/myimage.jpg')
image_generator = Thumbnail(source=source_file)
result = image_generator.generate()
所以我这样做了:

course_img = open(settings.MEDIA_ROOT+str(course.image), 'rb+')     
image_generator = myapp_images.Thumbnail100x100(source=course_img)
result = image_generator.generate()
然后,我尝试从“result”变量获取url,但我不知道如何:

details_html += "<img class='img-rounded' src='"+ str(result) +"'/>
details\u html+=”
我一直在尝试使用
str(result)、result.url、result.name等。运气不好,不知如何获得它?

Thx

生成器本身不允许您在运行时执行此操作,它生成类似文件的对象,这意味着它不会将文件保存在磁盘上,这意味着没有文件名,因此也没有URL名称

您可以手动保存对象并生成url,也可以像这样使用
ImageCacheFile

from imagekit.cachefiles import ImageCacheFile

file = ImageCacheFile(image_generator, name='my_image.thumb.jpg')
file.generate()

print file.url
from imagekit.cachefiles import ImageCacheFile

image_generator = myapp_images.Thumbnail00x100(source=course.image)
result = ImageCacheFile(image_generator)

生成器本身不允许您在运行时执行此操作,它生成类似文件的对象,这意味着它不会将文件保存在磁盘上,这意味着没有文件名,因此也没有URL名称

您可以手动保存对象并生成url,也可以像这样使用
ImageCacheFile

from imagekit.cachefiles import ImageCacheFile

file = ImageCacheFile(image_generator, name='my_image.thumb.jpg')
file.generate()

print file.url
from imagekit.cachefiles import ImageCacheFile

image_generator = myapp_images.Thumbnail00x100(source=course.image)
result = ImageCacheFile(image_generator)

我从imagekit作者那里得到了解决方案:

在我的例子中,我想与缓存文件交互,为了做到这一点,我们必须用
ImageCacheFile
包装我的生成器,如下所示:

from imagekit.cachefiles import ImageCacheFile

file = ImageCacheFile(image_generator, name='my_image.thumb.jpg')
file.generate()

print file.url
from imagekit.cachefiles import ImageCacheFile

image_generator = myapp_images.Thumbnail00x100(source=course.image)
result = ImageCacheFile(image_generator)

因此,
result
对象正是我所期望的,现在我只需使用
result.url

即可读取url。我从imagekit作者那里获得了以下解决方案:

在我的例子中,我想与缓存文件交互,为了做到这一点,我们必须用
ImageCacheFile
包装我的生成器,如下所示:

from imagekit.cachefiles import ImageCacheFile

file = ImageCacheFile(image_generator, name='my_image.thumb.jpg')
file.generate()

print file.url
from imagekit.cachefiles import ImageCacheFile

image_generator = myapp_images.Thumbnail00x100(source=course.image)
result = ImageCacheFile(image_generator)

因此,
result
对象这正是我所期望的,现在我只需使用
result.url

即可读取url。谢谢你的回答,Mario,但我无法让它工作,我在“name=”.jpg“上遇到了一些问题“atributte,离这儿很近,再次感谢您抽出时间回答我的问题。干杯。谢谢你的回答,马里奥,但我没能让它工作,我对“name=`the.jpg´”atributte有一些问题,它就在附近,再次感谢你在这里回答。干杯,这是正确的。如果有人想知道什么是
myapp\u images
,我想这就是您保存自定义生成器的地方。您可以使用imagekit.generatorlibrary导入缩略图中的
。这是正确的。如果有人想知道什么是
myapp\u images
,我想这就是您保存自定义生成器的地方。您可以使用imagekit.generatorlibrary导入缩略图中的