gpt4 book ai didi

python - 在 Django 中将 easy-thumbnails(或其他第 3 方库)与 jinja2 一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:38 24 4
gpt4 key购买 nike

使用像 easy-thumbnails 这样的第三方过滤器的流程是什么? Django 中的 Jinja2?我是否需要以某种方式注册我需要使用的过滤器?具体来说,我想使用我以前使用的 thumbnail_url 过滤器,例如:

<img src="{{ the_thing.image|thumbnail_url:'homepage_large' }}">

我尝试将其转换为 Jijnja2 语法,如下所示:

{{ the_thing.image|thumbnail_url('homepage_large') }}

但出现以下错误:

django.template.base.TemplateSyntaxError: ("no filter named 'thumbnail_url'",)

最佳答案

您需要将过滤器添加到 Jinja2 环境中:

def environment(**options):
env = Environment(**options)
env.globals.update(**{
'static': staticfiles_storage.url,
'url': reverse,
})

# add easy-thumbnails function as a Jinja2 filter
from easy_thumbnails.templatetags.thumbnail import thumbnail_url
env.filters.update(**{
'thumbnail_url': thumbnail_url,
})

return env

您应该知道,easy-thumbnails 中的模板标签是为 Django 模板构建的。然而,在这个非常具体的情况下,thumbnail_url 函数也恰好适用于 Jinja2 模板。

更好的实现是编写您自己的函数来包装简单缩略图中实现的功能,并将这些函数用作 Jinja2 过滤器。

关于python - 在 Django 中将 easy-thumbnails(或其他第 3 方库)与 jinja2 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35640474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com