質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

967閲覧

Wagtail(DjangoCMS)でTitleAndTextBlockからタイトルのみを抜き出し、アコーディオンのタイトルとしたい

Kazuhiro-ch

総合スコア85

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/23 08:34

編集2021/06/23 08:42

前提・実現したいこと

Wagtail(DjangoCMS)で簡単なウェブアプリケーションを開発しています。block.pyを作成し、適宜そこから必要な要素を抜いてmodels.pyに入れています。そのblockの一つにTitleAndTextBlockというものを設定しました。そこからタイトルのみを抜き出し、アコーディオンのタイトルとし、テキストはその説明として抜き出したいです。以下の場合、もう一度blockをタイトルとテキストの二つに定義しなおし、それぞれ{{ self.title }}などで書くしかないのでしょうか?

発生している問題・エラーメッセージ

エラーメッセージは特にありません。

該当のソースコード

python

1#block.py 2class TitleAndTextBlock(blocks.StructBlock): 3 title = blocks.CharBlock(required=True, help_text ="Add your title") 4 text = blocks.TextBlock(required=True, help_text="Add text") 5 6 class Meta: 7 template = "streams/title_and_text_block.html" 8 icon = "edit" 9 label = "Title & Text"

python

1#home/models.py 2class HomePage(Page): #RoutablePageMixin 3 """Home page model.""" 4 template = "home/home_page.html" 5 max_count = 1 6 custom_title = models.CharField(max_length=100, blank=False, null=True) 7 custom_subtitle = RichTextField(features=["bold", "italic"]) 8 9 content = StreamField( 10 [ 11 ("title_and_text", blocks.TitleAndTextBlock()), 12 ("full_richtext", blocks.RichtextBlock()), 13 ("simple_richtext", blocks.SimpleRichtextBlock()), 14 ("cta", blocks.CTABlock()), 15 ], 16 null=True, 17 blank=True 18 ) 19 20 content_panels = Page.content_panels + [ 21 MultiFieldPanel( 22 [ 23 FieldPanel("custom_title"), 24 FieldPanel("custom_subtitle"), 25 ], 26 heading="Banner Options", 27 ), 28 MultiFieldPanel( 29 [ 30 InlinePanel("carousel_images", max_num=5, min_num=1, label="Image"), 31 ], heading="Carousel Images" 32 ), 33 MultiFieldPanel( 34 [ 35 StreamFieldPanel("content"), 36 ], heading="Accordion text") 37 ]

html

1 2 <div id="home_about" class="about"> 3 {% for block in self.content %} 4 <div class="accordion-item"> 5 <h2 class="accordion-header" id="headingOne"> 6 <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 7 {{ self.block.title }} 8 </button> 9 </h2> 10 <div id="collapseOne" class="accordion-collapse collapse " aria-labelledby="headingOne" data-bs-parent="#accordionExample"> 11 <div class="accordion-body"> 12 <strong>{% include_block block %}</strong> 13 </div> 14 </div> 15 </div> 16 {% endfor %} 17 </div> 18 </div>

###結果
タイトル表示はなく、タイトル・テキストともにアコーディオン内部に記載されます。

試したこと

{% for block in self.content %}の移動

追記

関連で一つ開けると、別のところも開く現象が起きています。手打ちで記載する以外方法はありませんでしょうか?
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

html

1{{ block.value.title }}

とすることで解決しました。

投稿2021/06/23 10:46

Kazuhiro-ch

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問