【发布时间】:2018-01-25 17:17:17
【问题描述】:
我一直使用 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。
我找到了一些参考此文档的 google 小组答案: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、过滤器规范和安全签名。如果这些参数有效,它会提供符合该条件的图像文件。
但他们没有给出一个清晰的例子来说明这样的请求是什么样的,或者我将如何生成该安全签名。
【问题讨论】:
-
只是在 2018 年 4 月 v2.0.1 中提到,关于“动态图像服务视图”的文档仍然同样缺乏。 : (
标签: django wagtail wagtail-streamfield