# Typed table block `typed_table_block` 모듈은 혼합 데이터 유형으로 구성된 테이블을 구축하기 위한 StreamField 블록 유형을 제공합니다. 개발자는 열 유형으로 사용할 수 있는 블록 유형(예: `RichTextBlock` 또는 `FloatBlock`) 세트를 지정할 수 있습니다. 그러면 페이지 작성자는 StreamField에 블록을 삽입하는 것과 거의 동일한 방식으로 해당 목록에서 열 유형을 선택하여 모든 크기의 테이블을 구축할 수 있습니다. 각 열 내에서 작성자는 해당 필드에 대한 표준 편집 컨트롤(예: 리치 텍스트 셀용 Draftail 편집기)을 사용하여 데이터를 입력합니다. ## 설치 `INSTALLED_APPS` 에 `"wagtail.contrib.typed_table_block"` 을 추가합니다. ```python INSTALLED_APPS = [ ... "wagtail.contrib.typed_table_block", ] ``` ## 사용법 `TypedTableBlock` 은 `wagtail.contrib.typed_table_block.blocks` 모듈에서 가져와 StreamField 정의 내에서 사용할 수 있습니다. `StructBlock` 및 `StreamBlock` 과 마찬가지로 자식 블록으로 사용할 `(name, block_type)` 튜플 목록을 허용합니다. ```python from wagtail.contrib.typed_table_block.blocks import TypedTableBlock from wagtail import blocks from wagtail.images.blocks import ImageChooserBlock class DemoStreamBlock(blocks.StreamBlock): title = blocks.CharBlock() paragraph = blocks.RichTextBlock() table = TypedTableBlock([ ('text', blocks.CharBlock()), ('numeric', blocks.FloatBlock()), ('rich_text', blocks.RichTextBlock()), ('image', ImageChooserBlock()) ]) ``` 작성자를 위해 UI를 가능한 한 간단하게 유지하려면 위와 같이 Wagtail의 기본 내장 블록 유형을 열 유형으로 사용하는 것이 일반적으로 권장됩니다. 그러나 모든 사용자 지정 블록 유형 및 매개변수가 지원됩니다. 예를 들어, 국가 선택 드롭다운으로 구성된 '국가' 열 유형을 정의하려면: ```python table = TypedTableBlock([ ('text', blocks.CharBlock()), ('numeric', blocks.FloatBlock()), ('rich_text', blocks.RichTextBlock()), ('image', ImageChooserBlock()), ('country', ChoiceBlock(choices=[ ('be', '벨기에'), ('fr', '프랑스'), ('de', '독일'), ('nl', '네덜란드'), ('pl', '폴란드'), ('uk', '영국'), ])), ]) ``` 페이지 템플릿에서 `{% include_block %}` 태그(개별 블록 또는 StreamField 값 전체에 호출됨)는 모든 유형 테이블 블록을 HTML `