我一直在使用 Wagtail 作为无头 CMS 与前端应用程序一起使用,但是我注意到有关图像的一些限制。通常在您的 jinja 模板中,您会生成所需的正确图像大小,一切都很好,但是我无法在我的前端代码中访问这些帮助程序。我一直在尝试几件事。例如,为了解决简单页面模型及其字段的问题,我可以呈现一个自定义 api 字段,如下所示:
api_fields = [
# Adds information about the source image (eg, title) into the API
APIField('feed_image'),
# Adds a URL to a rendered thumbnail of the image to the API
APIField('feed_image_thumbnail', serializer=ImageRenditionField('fill-100x100', source='feed_image')),
...
]
但是,这不适用于流场,因为它们只会返回图像 ID。所以我想我会使用 Wagtail 图像 API,但这也不允许我访问直接 URL。
我找到了一些参考本文档的谷歌小组答案:http: //docs.wagtail.io/en/v1.9/advanced_topics/images/image_serve_view.html
但是,此页面似乎不存在于最新版本的文档中,并且似乎不允许我从前端的 url 生成图像。
有没有办法创建一个允许我根据其 ID 获取图像的 url?
例如: somehost:8000/images/1?width=200&height=200
或者也许还有其他一些我忽略的解决方案。
我喜欢 wagtail,但无法轻松访问图像 url 确实限制了它的 API 使用,我希望有一个好的解决方案。
谢谢
编辑:我设法在文档中找到了这个:http: //docs.wagtail.io/en/v1.11.1/advanced_topics/images/image_serve_view.html
但是他们声明:
该视图在 URL 中获取图像 ID、过滤器规范和安全签名。如果这些参数有效,它将提供与该标准匹配的图像文件。
但是他们没有给出一个清晰的例子来说明这样的请求是什么样的,或者我将如何生成该安全签名。