在WagTail中,要显示嵌入在富文本中的文档链接的完整文档URL,可以按照以下步骤操作:
from wagtail.core import blocks
from wagtail.documents.blocks import DocumentChooserBlock
class MyRichTextBlock(blocks.StructBlock):
content = blocks.RichTextBlock(features=['bold', 'italic'])
document = DocumentChooserBlock()
class Meta:
icon = 'doc-full'
template = 'myapp/blocks/my_rich_text_block.html'
my_rich_text_block.html
,用于渲染富文本块。{% load wagtailcore_tags %}
<div class="richtext">
{{ value.content|richtext }}
</div>
{% if value.document %}
<a href="{{ value.document.url }}">{{ value.document.title }}</a>
{% endif %}
from django.db import models
from wagtail.core.models import Page
from wagtail.core.fields import StreamField
from myapp.blocks import MyRichTextBlock
class MyPage(Page):
body = StreamField([
('rich_text', MyRichTextBlock()),
], blank=True)
以上步骤的解释如下:
MyRichTextBlock
,其中包括一个富文本字段 content
和一个文档选择器字段 document
。my_rich_text_block.html
,通过 {% if value.document %}
判断文档选择器字段是否有值,如果有则展示链接和文档标题。StreamField
将自定义的富文本块添加到页面或模型中,这样就可以在页面中编辑富文本内容并显示嵌入的文档链接的完整文档URL。这是一种在WagTail中显示嵌入在富文本中的文档链接的方法,你可以根据自己的需求进行调整和扩展。请注意,本回答提供了一种可行的解决方案,并且推荐使用腾讯云的相关产品,但这并不代表其他云计算品牌商没有类似的解决方案。
领取专属 10元无门槛券
手把手带您无忧上云