Django:模板中的 sorl-thumbnail

Posted

技术标签:

【中文标题】Django:模板中的 sorl-thumbnail【英文标题】:Django: sorl-thumbnail in a for template 【发布时间】:2011-05-13 11:49:02 【问题描述】:

首先,一个 django 新手,所以放轻松;)

我正在尝试在 for 循环中制作一些缩略图 - 下一件事将是分页或 group_by,但一次一个问题;)

问题是我有这个:

 % for item in object_list %
  <li> item.name </a></li>
  % endfor %

并且还设法使用以下方法在views.py / item模板中使用sorl-thumbnail:(仅适用于单个项目)

def get_item(request, item_slug):
    item = get_object_or_404(Item, slug_name=item_slug)
    # get() returned more than one
    # img = item.images.get() 
    imgs = item.images.filter(is_poster=True)
    img_src = imgs[0].src if imgs else None

    return render_to_response('items/get_item.html', 
        'item': item,
        'title': item.name,
        'image': img_src,
    )

所以我被困在 for/sorl-thumbnail 部分。我得到了这个,但是当 get() 返回多个结果时它不起作用:

% for item in all_items %
    <li> item.name </li>
    % if item.images.get % 
      item.images.get 
    % endif %
% endfor %

【问题讨论】:

【参考方案1】:

我不是 100% 肯定,但你的问题是,但如果你有一个图像列表,你也可以索引模板中的第一个:

% load thumbail %
% if item.images.all %
    <img src="% thumbnail item.images.all.0 100x100 %">
% endif %

【讨论】:

是的,虽然我必须看看如何在模板中执行 item.images.filter(is_poster=True),但目前这很好,除了应该是 item.images。 all.0.src 您可以为您的图像创建一个自定义管理器 (djangoproject.com/documentation/models/custom_managers) 方法,例如。 is_poster,您也可以从模板 ( item.images.is_poster ) 调用。

以上是关于Django:模板中的 sorl-thumbnail的主要内容,如果未能解决你的问题,请参考以下文章

Django 模板中的 Handlebars.js

模板标签模板中的 Django 模板块

django 模板中的 $ ... $ 代表啥?

如何访问 django 模板中的 django ManyToManyField

javascript中的Django模板值

Django 管理模板:访问模板中的请求对象