Streamfield 模板中的 Wagtail 页面上下文

Wagtail page context in Streamfield template

我在 StreamField 中有 StructBlock 及其自己的模板。我正在尝试从所述模板访问页面对象。

{% load wagtailcore_tags article_tags %}

  {%  article_constants as constants %}
    <div id="interactions__combo__addition" class="col-md-6">
      <h3>
        {% include_block page.translated_title %}
        + 
        <span id="interactions-combo-addition-temp">?</span> =
      </h3>
      <div alt="dangerous to synergy bar" style="height:10px; width:100%">
      </div>
    </div>
    <div class="interactions__combo__result col-md-5">
      <h3 class="interactions__combo__result__title">
       {{ constants.select_element }}
      </h3>
      <p class="interactions__combo__result__description">
        {{ constants.none_selected_text }} 
        {% include_block page.colour %}.
      </p>
    </div>

{% include_block page.colour %}{% include_block page.translated_title %} 什么都不渲染。

预先感谢您的帮助。

在您的页面模板上输出 StreamField 时,您应该使用 {% include_block %} 标签。例如,如果您的 StreamField 名为 body,请在您的页面模板上使用 {% include_block page.body %}。这将确保来自外部模板的上下文变量(包括 page)在您的 StructBlock 模板中可用 - 如果您使用 {{ page.body }} 代替,StructBlock 模板将呈现,但无法访问来自外部模板的变量。

不要将 {% include_block %} 用于 page 的非 StreamFields 字段,例如 page.translated_title.