Вызов данных с родительской страницы - PullRequest
1 голос
/ 09 июля 2020

Я создаю веб-сайт с помощью Wagtail, и есть кое-что, что я не могу сделать.

Я пытаюсь создать «страницу проекта», где я определяю изображение заголовка и несколько других переменные. Я не могу вызвать это изображение заголовка или поля с дочерних страниц.

Это код для ProjectPage:

class ProjectPage(Page):
    """Landing page for each individual project"""

    image = models.ForeignKey(
        'wagtailimages.Image', null=True, blank=True,
        on_delete=models.SET_NULL, related_name='+'
    )

    intro = models.CharField(max_length=50, default='')
    about = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('image'),
        FieldPanel('intro'),
        FieldPanel('about')
    ]

    def get_context(self, request, *args, **kwargs):
        context = super(ProjectPage, self).get_context(request, *args, **kwargs)
        return context

Как я могу этого добиться?

Любая помощь приветствуется.

1 Ответ

1 голос
/ 09 июля 2020

Хорошо, поэтому ответ проще, чем я ожидал.

Например, чтобы показать поле intro родительской страницы в шаблоне, нам просто нужно добавить это:

{{page.get_parent.specific.intro }}

В случае необходимости в модели:

class ChildPage(Page):

    def get_context(self, request, *args, **kwargs):
        context = super().get_context(request, *args, **kwargs)
        context['hero_image'] = self.get_parent().specific.image
        return context 
...