

**質問内容**

DjangoのInlinePanelを使ってwagtailで以下のモデルを実装してみました。  
公式ドキュメントを参考に作成しました。管理者側はしっかりと反映されており、データを打ち込めるのですがユーザー画面に反映されません。（エラーは出ません。）そこでhtmlの書き方に問題があると考えます。具体的にはselfの部分が間違えているはずです。ですのでこの部分をpageに変えてみたりarticle_fieldに変えたりtitleに変えてみましたがエラーも出ることなく反映もされませんでした。

何に変えるべきなのでしょうか？経験豊かな先輩方のお力をぜひお菓子いただければと思います。

**コード**

[code]

    from django.db import models
    from wagtail.core.models import Page
    from wagtail.core.fields import RichTextField, StreamField
    from wagtail.admin.edit_handlers import FieldPanel, PageChooserPanel, StreamFieldPanel, MultiFieldPanel, InlinePanel
    from wagtail.images.edit_handlers import ImageChooserPanel
    
    from modelcluster.fields import ParentalKey
    
    from menu_header_wagtail.models import HeaderPage
    from wagtail.snippets.edit_handlers import SnippetChooserPanel
    
    class ArticleBlock(models.Model):
        article_title = models.CharField(max_length=100, blank=False, null=True)
        heading = RichTextField(features=["bold", "italic"], blank=True)
        thumbnail = models.ForeignKey(
            "wagtailimages.Image",
            null=True,
            blank=False,
            on_delete=models.SET_NULL,
            related_name="+",
        )
        article_link = models.URLField(max_length=500, blank=True, default='')
    
        panels = [
            FieldPanel("article_title"),
            ImageChooserPanel("thumbnail"),
            FieldPanel("heading"),
            FieldPanel("article_link"),
          ]
    
    class ArticleField(ArticleBlock):
        page = ParentalKey('article.ArticleTitlePage', on_delete=models.CASCADE, related_name='article_field')
    
    class ArticleTitlePage(Page):
        """Article Index model"""
    
        template = "article/article_title.html"
    
        header = models.ForeignKey(
            HeaderPage,
            null=True,
            blank=True,
            on_delete=models.SET_NULL,
            related_name='+')
    
        page_title = models.CharField(max_length=100, blank=False, null=True)
    
        content_panels = Page.content_panels + [
            SnippetChooserPanel('header'),
            FieldPanel('page_title'),
            MultiFieldPanel(
                [
                InlinePanel("article_field", label="title"),
            ], heading = "article_info"),
        ]
    
    
[/code]

[code]

    {% extends "base.html" %}
    {% load static %}
    {% load wagtailcore_tags wagtailimages_tags %}
    
    {% block content %}
    
    <p>{{ self.page_title }}</p>
    <!--以下のselfが怪しい-->
    <h2>{{ self.article_title }}</h2>
    
    </a>
    
    {% endblock content %}
    
    
    
[/code]

**試してみたこと**

[code]

    {% block content %}
    
    <p>{{ self.page_title }}</p>
    <h2>{{ article.article_title }}</h2>
    {{ article_info }}
    {{ heading }}
    
    {{ self.article_info }}
    {{ self.heading }}
    
    
    {{ page.article_info }}
    {{ page.heading }}
    
    {{ article_field.value.article_info }}
    {{ article_field.heading }}
    
    {{ self.value.heading }}
    
    
[/code]

などとにかく変数の書き方を変えて行ってみましたが、エラーはないものの表示されません。


CC BY-SA 4.0
2021-07-27T05:00:33.073
78421
2021-07-27T05:00:33.073
47454
question
python html django
wagtailでhtmlで表示したい