페이지 탐색을 위해 사이드 바 탐색 기능이있는 긴 스크롤 페이지를 만들어야합니다. 즉, 각 표제에는 ID가 있습니다. 스트림 필드에서 사용자가 중복 ID를 넣지 않았는지 확인해야합니까?스트림 필드에 중복이 없음을 확인하십시오.
편집 :
제목이 같은 정의됩니다
class HeadingOneBlock(blocks.StructBlock):
id = blocks.RegexBlock(regex=r'^\S*$', help_text='No spaces or special characters')
heading = blocks.CharBlock()
class Meta:
template = 'base/heading_one.html'
icon = 'title'
label = 'h1'
그리고 페이지 다음 '몸'수준에서 검증 할 수있는 방법이
class LongScrollPage(Page):
banner_text = RichTextField()
description = RichTextField()
body = StreamField([
('heading1', HeadingOneBlock()),
('heading2', HeadingTwoBlock()),
('paragraph', blocks.RichTextBlock(features=['bold', 'italic', 'ol', 'ul', 'link', 'image', 'hr'])),
('collapsible_panel', CollapsiblePanelBlock()),
('table', TableBlock(template='base/tables.html')),
], blank=True, null=True)
content_panels = Page.content_panels + [
FieldPanel('banner_text'),
FieldPanel('description'),
StreamFieldPanel('body'),
]
있습니까? 블록 수준에서 유효성을 검사 할 수 있지만 고유 ID를 확인하려면 어떻게해야합니까?
를 사용하여 BakeryDemo, 할미새 1.13에서이 작업을 테스트했습니다. –