python - Wagtail CMS 通过 API 请求发送图像 URL
问题描述
我正在使用 wagtail headless 作为前端应用程序的 CMS。到目前为止一切正常,但是在调用 API 时我无法将图像放入我的前端应用程序。
这是我现在正在使用的模型,我也在使用流场:
from django.db import models
from wagtail.core.models import Page
from wagtail.core.fields import StreamField
from wagtail.core import blocks
from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel
from wagtail.images.blocks import ImageChooserBlock as DefaultImageChooserBlock
from wagtail.api import APIField
class ImageChooserBlock(DefaultImageChooserBlock):
def get_api_representation(self, value, context=None):
if value:
return {
'id': value.id,
'title': value.title,
'large': value.get_rendition('width-1000').attrs_dict,
'thumbnail': value.get_rendition('fill-120x120').attrs_dict,
}
class HomePage(Page):
body = StreamField([
('heading', blocks.CharBlock(classname="full title")),
('paragraph', blocks.RichTextBlock()),
('image', ImageChooserBlock()),
],)
content_panels = Page.content_panels + [
StreamFieldPanel('body'),
]
api_fields = [
APIField('body'),
]
我在ImageChooserBlock
这里得到了覆盖代码:Wagtail 从 JSON api 或直接获取/生成图像 url
这似乎不再起作用,我仍然收到来自 API 的响应,如下所示:
"title": "now",
"body": [
{
"type": "image",
"value": 1,
"id": "f5714257-bf5d-469b-9b4f-875212ec8d8d"
}
我需要 URL,以便可以在我的应用程序中显示它们。
还有其他想法吗?我在其他任何地方都找不到有关此的任何信息。
解决方案
我在这里发布了类似问题的解决方案。
如何在流场创建图像的页面 API 中获取图像 url 或下载图像的 url?
您的一般方法看起来是正确的。你正在用吗
/api/v2/pages/?type=home.HomePage&fields=body
对于您的 API 调用?
推荐阅读
- amazon-web-services - Golang 从 S3 读取固定宽度的文本文件
- asp.net - ASP NET LinkButton - 删除了内部控件
- python - pip 和 conda 共享环境吗?
- python - Python-Big Query-如果存在则更新现有表中的行,否则创建一个
- android - Android WiFi Direct-获取连接的设备名称
- activerecord - 我应该如何在 has_many: through: ActiveRecord 关系中使用“通过”对象的属性?
- azure-ad-b2c - language.button_continue + LocalizedStrings
- c++ - 在低强度工作上使用了太多内存。C++
- javascript - 为您自己的网站使用 Dark Reader 扩展代码
- c++ - Codeforces:两个除数