Django 按图像位置从简易缩略图中获取图像缩略图
我在所有应用程序中都有图标图像: /应用程序名称/static/模型名称/images/icon.png 它正在添加到管理界面的模型列表中。我想使用简单的缩略图和自定义模板标记进行裁剪: template.html: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>
{% 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},
},
}