Django 按图像位置从简易缩略图中获取图像缩略图

Django 按图像位置从简易缩略图中获取图像缩略图,django,easy-thumbnails,Django,Easy Thumbnails,我在所有应用程序中都有图标图像: /应用程序名称/static/模型名称/images/icon.png 它正在添加到管理界面的模型列表中。我想使用简单的缩略图和自定义模板标记进行裁剪: template.html: {% load project_tags %} <th scope="row">{% load_icon model %}<a href="{{ model.admin_url }}">{{ model.name }}</a></th>

我在所有应用程序中都有图标图像:

/应用程序名称/static/模型名称/images/icon.png

它正在添加到管理界面的模型列表中。我想使用简单的缩略图和自定义模板标记进行裁剪:

template.html:

{% load project_tags %}
<th scope="row">{% load_icon model %}<a href="{{ model.admin_url }}">{{ model.name }}</a></th>
但我有一个“可疑操作”错误: 可疑操作位于/admin/ 尝试访问“/polls/images/icon.png”被拒绝。


我做错什么了吗?

路径“/polls/images/icon.png”确实可疑,但我无法在您的代码中看到它的来源。它可能被解释为文件系统上的绝对路径。检查此路径的构造位置,并让其以类似于
设置的内容开始。MEDIA_ROOT

简易缩略图使用Django存储后端,该后端仅限于媒体目录。解决此问题的最佳方法是编写自定义存储后端

您的图像是否具有相应的权限?是的,它具有相应的权限。如果我不使用thumbnailer直接将url放在src属性中,我会加载一个原始大小的图像
from easy_thumbnails.files import get_thumbnailer
class LoadIcon(template.Node):

    def __init__(self, model_obj):
        self.model_obj = Variable(model_obj)

    def render(self, context):
        return '<img src="%s" />' % get_thumbnailer('/static/'+model_name+'/images/icon.png')['model_icon'].url
THUMBNAIL_ALIASES = {
    '': {
        'model_icon': {'size': (20, 20), 'crop': True},
    },
}